mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-29 23:14:34 -04:00
66070 lines
1.3 MiB
Plaintext
66070 lines
1.3 MiB
Plaintext
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD16_021D74E0
|
|
MOD16_021D74E0: ; 0x021D74E0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x20
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #0x36
|
|
add r2, r1, #0
|
|
bl FUN_0200433C
|
|
mov r2, #1
|
|
mov r0, #3
|
|
mov r1, #0x25
|
|
lsl r2, r2, #0x12
|
|
bl FUN_0201681C
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #0x25
|
|
bl FUN_02006268
|
|
add r4, r0, #0
|
|
bne _021D750E
|
|
bl ErrorHandling
|
|
_021D750E:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
mov r0, #8
|
|
mov r1, #0x25
|
|
bl FUN_0201C24C
|
|
add r0, r5, #0
|
|
bl FUN_0200628C
|
|
add r5, r0, #0
|
|
ldr r0, _021D7584 ; =MOD16_021D7650
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
bl FUN_0201CC08
|
|
mov r0, #4
|
|
bl FUN_0201CC24
|
|
cmp r0, #1
|
|
beq _021D7546
|
|
bl ErrorHandling
|
|
_021D7546:
|
|
mov r0, #0x25
|
|
bl MOD16_021D79FC
|
|
ldr r0, [r5]
|
|
add r1, sp, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #8]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x25
|
|
bl MOD16_021D76AC
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
mov r1, #0x2a
|
|
bl FUN_020051EC
|
|
mov r0, #1
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D7584: .word MOD16_021D7650
|
|
thumb_func_end MOD16_021D74E0
|
|
|
|
thumb_func_start MOD16_021D7588
|
|
MOD16_021D7588: ; 0x021D7588
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
bl FUN_02006278
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
cmp r1, #3
|
|
bhi _021D7608
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021D75A4: ; jump table
|
|
.short _021D75AC - _021D75A4 - 2 ; case 0
|
|
.short _021D75C4 - _021D75A4 - 2 ; case 1
|
|
.short _021D75DA - _021D75A4 - 2 ; case 2
|
|
.short _021D75E6 - _021D75A4 - 2 ; case 3
|
|
_021D75AC:
|
|
bl MOD16_021D7664
|
|
mov r0, #0xf
|
|
mvn r0, r0
|
|
mov r1, #0x3f
|
|
mov r2, #3
|
|
bl FUN_0200A274
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021D7608
|
|
_021D75C4:
|
|
ldr r0, [r5]
|
|
bl MOD16_021D7804
|
|
cmp r0, #1
|
|
bne _021D7608
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021D7608
|
|
_021D75DA:
|
|
bl MOD16_021D7684
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021D7608
|
|
_021D75E6:
|
|
bl MOD16_021D76A4
|
|
cmp r0, #0
|
|
beq _021D7608
|
|
mov r0, #0
|
|
bl FUN_0200E388
|
|
mov r0, #1
|
|
bl FUN_0200E388
|
|
ldr r0, _021D760C ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, _021D7610 ; =0x04001050
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D7608:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D760C: .word 0x04000050
|
|
_021D7610: .word 0x04001050
|
|
thumb_func_end MOD16_021D7588
|
|
|
|
thumb_func_start MOD16_021D7614
|
|
MOD16_021D7614: ; 0x021D7614
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02006278
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
bl FUN_0201CD04
|
|
cmp r0, #1
|
|
beq _021D7630
|
|
bl ErrorHandling
|
|
_021D7630:
|
|
bl MOD16_021D7A10
|
|
bl FUN_0201C29C
|
|
add r0, r4, #0
|
|
bl FUN_0200627C
|
|
mov r0, #0x25
|
|
bl FUN_020168D0
|
|
mov r0, #1
|
|
mov r1, #0x7f
|
|
bl FUN_020051EC
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D7614
|
|
|
|
thumb_func_start MOD16_021D7650
|
|
MOD16_021D7650: ; 0x021D7650
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021D765C
|
|
bl MOD16_021D7A24
|
|
_021D765C:
|
|
bl FUN_0201C30C
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7650
|
|
|
|
thumb_func_start MOD16_021D7664
|
|
MOD16_021D7664: ; 0x021D7664
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x25
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
add sp, #0xc
|
|
pop {pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7664
|
|
|
|
thumb_func_start MOD16_021D7684
|
|
MOD16_021D7684: ; 0x021D7684
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x25
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
add sp, #0xc
|
|
pop {pc}
|
|
thumb_func_end MOD16_021D7684
|
|
|
|
thumb_func_start MOD16_021D76A4
|
|
MOD16_021D76A4: ; 0x021D76A4
|
|
ldr r3, _021D76A8 ; =FUN_0200E308
|
|
bx r3
|
|
.align 2, 0
|
|
_021D76A8: .word FUN_0200E308
|
|
thumb_func_end MOD16_021D76A4
|
|
|
|
thumb_func_start MOD16_021D76AC
|
|
MOD16_021D76AC: ; 0x021D76AC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r5, r1, #0
|
|
ldr r1, _021D77D0 ; =0x00001D10
|
|
add r7, r0, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021D76C2
|
|
bl ErrorHandling
|
|
_021D76C2:
|
|
ldr r2, _021D77D0 ; =0x00001D10
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl memset
|
|
str r7, [r4, #4]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [r4, #8]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA858
|
|
ldr r1, _021D77D4 ; =0x00001A0C
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA858
|
|
ldr r1, _021D77D8 ; =0x00001A10
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA858
|
|
ldr r1, _021D77DC ; =0x00001A14
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA858
|
|
ldr r1, _021D77E0 ; =0x00001A18
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA5FC
|
|
mov r1, #0x1d
|
|
lsl r1, r1, #8
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA5FC
|
|
ldr r1, _021D77E4 ; =0x00001D04
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA5FC
|
|
ldr r1, _021D77E8 ; =0x00001D08
|
|
str r0, [r4, r1]
|
|
add r0, r7, #0
|
|
bl MOD16_021DA5FC
|
|
ldr r1, _021D77EC ; =0x00001D0C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #8]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0x10]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #0x18]
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_0208A328
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_0208A330
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
add r1, sp, #8
|
|
add r2, r7, #0
|
|
bl MOD16_021D9798
|
|
ldr r0, _021D77F0 ; =0x0000177C
|
|
add r1, r7, #0
|
|
add r0, r4, r0
|
|
bl MOD16_021D8534
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D77F4 ; =0x00001A30
|
|
ldr r5, _021D77F8 ; =0x021FF418
|
|
add r6, r4, r0
|
|
_021D7770:
|
|
ldr r3, [r5]
|
|
cmp r3, #0
|
|
beq _021D777E
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
blx r3
|
|
_021D777E:
|
|
ldr r0, [sp, #4]
|
|
add r5, r5, #4
|
|
add r0, r0, #1
|
|
add r6, #0x28
|
|
str r0, [sp, #4]
|
|
cmp r0, #0xa
|
|
blt _021D7770
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #6
|
|
ldr r5, _021D77FC ; =0x021FF3D8
|
|
add r6, r4, r0
|
|
_021D7798:
|
|
ldr r3, [r5]
|
|
cmp r3, #0
|
|
beq _021D77A6
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
blx r3
|
|
_021D77A6:
|
|
ldr r0, [sp]
|
|
add r5, r5, #4
|
|
add r0, r0, #1
|
|
add r6, #0x28
|
|
str r0, [sp]
|
|
cmp r0, #8
|
|
blt _021D7798
|
|
ldr r1, _021D7800 ; =0x00001A1C
|
|
add r0, r7, #0
|
|
add r1, r4, r1
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl MOD16_021DAE0C
|
|
add r0, r4, #0
|
|
bl MOD16_021D847C
|
|
add r0, r4, #0
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D77D0: .word 0x00001D10
|
|
_021D77D4: .word 0x00001A0C
|
|
_021D77D8: .word 0x00001A10
|
|
_021D77DC: .word 0x00001A14
|
|
_021D77E0: .word 0x00001A18
|
|
_021D77E4: .word 0x00001D04
|
|
_021D77E8: .word 0x00001D08
|
|
_021D77EC: .word 0x00001D0C
|
|
_021D77F0: .word 0x0000177C
|
|
_021D77F4: .word 0x00001A30
|
|
_021D77F8: .word 0x021FF418
|
|
_021D77FC: .word 0x021FF3D8
|
|
_021D7800: .word 0x00001A1C
|
|
thumb_func_end MOD16_021D76AC
|
|
|
|
thumb_func_start MOD16_021D7804
|
|
MOD16_021D7804: ; 0x021D7804
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D780E
|
|
bl ErrorHandling
|
|
_021D780E:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl MOD16_021D9F8C
|
|
ldr r0, _021D79D8 ; =0x00001A14
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7872
|
|
ldr r0, _021D79DC ; =0x00001A0C
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7872
|
|
ldr r0, _021D79E0 ; =0x00001A18
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7872
|
|
ldr r0, _021D79E4 ; =0x00001A10
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7872
|
|
ldr r0, _021D79E8 ; =0x00001D08
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA7B0
|
|
ldr r0, _021D79EC ; =0x00001D0C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA7B0
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl MOD16_021DA7B0
|
|
ldr r0, _021D79F0 ; =0x00001D04
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA7B0
|
|
b _021D789C
|
|
_021D7872:
|
|
ldr r0, _021D79E8 ; =0x00001D08
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA7B0
|
|
ldr r0, _021D79EC ; =0x00001D0C
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA7B0
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl MOD16_021DA7B0
|
|
ldr r0, _021D79F0 ; =0x00001D04
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA7B0
|
|
_021D789C:
|
|
ldr r0, _021D79E8 ; =0x00001D08
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA694
|
|
ldr r0, _021D79EC ; =0x00001D0C
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA694
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA694
|
|
ldr r0, _021D79F0 ; =0x00001D04
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA694
|
|
ldr r0, _021D79E8 ; =0x00001D08
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA71C
|
|
ldr r0, _021D79EC ; =0x00001D0C
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA71C
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA71C
|
|
ldr r0, _021D79F0 ; =0x00001D04
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA71C
|
|
ldr r0, _021D79DC ; =0x00001A0C
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7910
|
|
ldr r0, _021D79E0 ; =0x00001A18
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7910
|
|
ldr r0, _021D79E4 ; =0x00001A10
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7910
|
|
ldr r1, _021D79D8 ; =0x00001A14
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0x10
|
|
ldr r1, [r4, r1]
|
|
bl MOD16_021DA8A0
|
|
_021D7910:
|
|
ldr r0, _021D79D8 ; =0x00001A14
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7940
|
|
ldr r0, _021D79E0 ; =0x00001A18
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7940
|
|
ldr r0, _021D79E4 ; =0x00001A10
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7940
|
|
ldr r1, _021D79DC ; =0x00001A0C
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0x10
|
|
ldr r1, [r4, r1]
|
|
bl MOD16_021DA8A0
|
|
_021D7940:
|
|
ldr r0, _021D79D8 ; =0x00001A14
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7970
|
|
ldr r0, _021D79DC ; =0x00001A0C
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7970
|
|
ldr r0, _021D79E4 ; =0x00001A10
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D7970
|
|
ldr r1, _021D79E0 ; =0x00001A18
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0x10
|
|
ldr r1, [r4, r1]
|
|
bl MOD16_021DA8A0
|
|
_021D7970:
|
|
ldr r0, _021D79D8 ; =0x00001A14
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D79A0
|
|
ldr r0, _021D79DC ; =0x00001A0C
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D79A0
|
|
ldr r0, _021D79E0 ; =0x00001A18
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DA8F0
|
|
cmp r0, #0
|
|
bne _021D79A0
|
|
ldr r1, _021D79E4 ; =0x00001A10
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0x10
|
|
ldr r1, [r4, r1]
|
|
bl MOD16_021DA8A0
|
|
_021D79A0:
|
|
bl FUN_020222AC
|
|
ldr r0, _021D79F4 ; =0x0000177C
|
|
add r0, r4, r0
|
|
bl MOD16_021D86B4
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_020222B4
|
|
ldr r1, _021D79F8 ; =0x00001A04
|
|
mov r0, #0
|
|
str r0, [r4, r1]
|
|
add r2, r1, #4
|
|
str r0, [r4, r2]
|
|
add r2, r1, #0
|
|
sub r2, #8
|
|
str r0, [r4, r2]
|
|
sub r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4]
|
|
cmp r1, #1
|
|
bne _021D79D6
|
|
add r0, r4, #0
|
|
bl MOD16_021D8298
|
|
mov r0, #1
|
|
_021D79D6:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D79D8: .word 0x00001A14
|
|
_021D79DC: .word 0x00001A0C
|
|
_021D79E0: .word 0x00001A18
|
|
_021D79E4: .word 0x00001A10
|
|
_021D79E8: .word 0x00001D08
|
|
_021D79EC: .word 0x00001D0C
|
|
_021D79F0: .word 0x00001D04
|
|
_021D79F4: .word 0x0000177C
|
|
_021D79F8: .word 0x00001A04
|
|
thumb_func_end MOD16_021D7804
|
|
|
|
thumb_func_start MOD16_021D79FC
|
|
MOD16_021D79FC: ; 0x021D79FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021D8404
|
|
add r0, r4, #0
|
|
bl MOD16_021D8424
|
|
bl MOD16_021D84A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D79FC
|
|
|
|
thumb_func_start MOD16_021D7A10
|
|
MOD16_021D7A10: ; 0x021D7A10
|
|
push {r3, lr}
|
|
bl FUN_02009FA0
|
|
bl FUN_0201D12C
|
|
bl FUN_0201E08C
|
|
bl MOD16_021D8514
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021D7A10
|
|
|
|
thumb_func_start MOD16_021D7A24
|
|
MOD16_021D7A24: ; 0x021D7A24
|
|
push {r3, lr}
|
|
ldr r1, _021D7A34 ; =0x0000177C
|
|
add r0, r0, r1
|
|
bl MOD16_021D86DC
|
|
bl FUN_02009F80
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021D7A34: .word 0x0000177C
|
|
thumb_func_end MOD16_021D7A24
|
|
|
|
thumb_func_start MOD16_021D7A38
|
|
MOD16_021D7A38: ; 0x021D7A38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7A42
|
|
bl ErrorHandling
|
|
_021D7A42:
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7A38
|
|
|
|
thumb_func_start MOD16_021D7A4C
|
|
MOD16_021D7A4C: ; 0x021D7A4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7A56
|
|
bl ErrorHandling
|
|
_021D7A56:
|
|
ldr r0, _021D7A5C ; =0x00001D04
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7A5C: .word 0x00001D04
|
|
thumb_func_end MOD16_021D7A4C
|
|
|
|
thumb_func_start MOD16_021D7A60
|
|
MOD16_021D7A60: ; 0x021D7A60
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7A6A
|
|
bl ErrorHandling
|
|
_021D7A6A:
|
|
ldr r0, _021D7A70 ; =0x00001D08
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7A70: .word 0x00001D08
|
|
thumb_func_end MOD16_021D7A60
|
|
|
|
thumb_func_start MOD16_021D7A74
|
|
MOD16_021D7A74: ; 0x021D7A74
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7A7E
|
|
bl ErrorHandling
|
|
_021D7A7E:
|
|
ldr r0, _021D7A84 ; =0x00001D0C
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7A84: .word 0x00001D0C
|
|
thumb_func_end MOD16_021D7A74
|
|
|
|
thumb_func_start MOD16_021D7A88
|
|
MOD16_021D7A88: ; 0x021D7A88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7A92
|
|
bl ErrorHandling
|
|
_021D7A92:
|
|
ldr r0, _021D7A98 ; =0x00001A0C
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7A98: .word 0x00001A0C
|
|
thumb_func_end MOD16_021D7A88
|
|
|
|
thumb_func_start MOD16_021D7A9C
|
|
MOD16_021D7A9C: ; 0x021D7A9C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7AA6
|
|
bl ErrorHandling
|
|
_021D7AA6:
|
|
ldr r0, _021D7AAC ; =0x00001A10
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7AAC: .word 0x00001A10
|
|
thumb_func_end MOD16_021D7A9C
|
|
|
|
thumb_func_start MOD16_021D7AB0
|
|
MOD16_021D7AB0: ; 0x021D7AB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7ABA
|
|
bl ErrorHandling
|
|
_021D7ABA:
|
|
ldr r0, _021D7AC0 ; =0x00001A14
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7AC0: .word 0x00001A14
|
|
thumb_func_end MOD16_021D7AB0
|
|
|
|
thumb_func_start MOD16_021D7AC4
|
|
MOD16_021D7AC4: ; 0x021D7AC4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7ACE
|
|
bl ErrorHandling
|
|
_021D7ACE:
|
|
ldr r0, _021D7AD4 ; =0x00001A18
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7AD4: .word 0x00001A18
|
|
thumb_func_end MOD16_021D7AC4
|
|
|
|
thumb_func_start MOD16_021D7AD8
|
|
MOD16_021D7AD8: ; 0x021D7AD8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7AE2
|
|
bl ErrorHandling
|
|
_021D7AE2:
|
|
ldr r0, _021D7AE8 ; =0x000019FC
|
|
add r0, r4, r0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7AE8: .word 0x000019FC
|
|
thumb_func_end MOD16_021D7AD8
|
|
|
|
thumb_func_start MOD16_021D7AEC
|
|
MOD16_021D7AEC: ; 0x021D7AEC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7AF6
|
|
bl ErrorHandling
|
|
_021D7AF6:
|
|
mov r0, #0x1a
|
|
lsl r0, r0, #8
|
|
add r0, r4, r0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7AEC
|
|
|
|
thumb_func_start MOD16_021D7B00
|
|
MOD16_021D7B00: ; 0x021D7B00
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7B0A
|
|
bl ErrorHandling
|
|
_021D7B0A:
|
|
ldr r0, _021D7B10 ; =0x00001A04
|
|
add r0, r4, r0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7B10: .word 0x00001A04
|
|
thumb_func_end MOD16_021D7B00
|
|
|
|
thumb_func_start MOD16_021D7B14
|
|
MOD16_021D7B14: ; 0x021D7B14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7B1E
|
|
bl ErrorHandling
|
|
_021D7B1E:
|
|
ldr r0, _021D7B24 ; =0x00001A08
|
|
add r0, r4, r0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7B24: .word 0x00001A08
|
|
thumb_func_end MOD16_021D7B14
|
|
|
|
thumb_func_start MOD16_021D7B28
|
|
MOD16_021D7B28: ; 0x021D7B28
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7B32
|
|
bl ErrorHandling
|
|
_021D7B32:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7B28
|
|
|
|
thumb_func_start MOD16_021D7B38
|
|
MOD16_021D7B38: ; 0x021D7B38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7B42
|
|
bl ErrorHandling
|
|
_021D7B42:
|
|
add r4, #0xc
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D7B38
|
|
|
|
thumb_func_start MOD16_021D7B48
|
|
MOD16_021D7B48: ; 0x021D7B48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021D7B52
|
|
bl ErrorHandling
|
|
_021D7B52:
|
|
ldr r0, _021D7B58 ; =0x0000177C
|
|
add r0, r4, r0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7B58: .word 0x0000177C
|
|
thumb_func_end MOD16_021D7B48
|
|
|
|
thumb_func_start MOD16_021D7B5C
|
|
MOD16_021D7B5C: ; 0x021D7B5C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0xa
|
|
blt _021D7B6A
|
|
bl ErrorHandling
|
|
_021D7B6A:
|
|
ldr r0, _021D7B78 ; =0x00001A30
|
|
add r1, r5, r0
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D7B78: .word 0x00001A30
|
|
thumb_func_end MOD16_021D7B5C
|
|
|
|
thumb_func_start MOD16_021D7B7C
|
|
MOD16_021D7B7C: ; 0x021D7B7C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #8
|
|
blt _021D7B8A
|
|
bl ErrorHandling
|
|
_021D7B8A:
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #6
|
|
add r1, r5, r0
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D7B7C
|
|
|
|
thumb_func_start MOD16_021D7B98
|
|
MOD16_021D7B98: ; 0x021D7B98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #4
|
|
bhi _021D7BDE
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021D7BAC: ; jump table
|
|
.short _021D7BB6 - _021D7BAC - 2 ; case 0
|
|
.short _021D7BC6 - _021D7BAC - 2 ; case 1
|
|
.short _021D7BBE - _021D7BAC - 2 ; case 2
|
|
.short _021D7BCE - _021D7BAC - 2 ; case 3
|
|
.short _021D7BCE - _021D7BAC - 2 ; case 4
|
|
_021D7BB6:
|
|
mov r1, #1
|
|
bl FUN_02020208
|
|
pop {r4, pc}
|
|
_021D7BBE:
|
|
mov r1, #2
|
|
bl FUN_02020208
|
|
pop {r4, pc}
|
|
_021D7BC6:
|
|
mov r1, #3
|
|
bl FUN_02020208
|
|
pop {r4, pc}
|
|
_021D7BCE:
|
|
bl FUN_0202022C
|
|
cmp r0, #0
|
|
beq _021D7BDE
|
|
ldr r1, _021D7BE0 ; =0xFFFFE000
|
|
add r0, r4, #0
|
|
bl FUN_020201E4
|
|
_021D7BDE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7BE0: .word 0xFFFFE000
|
|
thumb_func_end MOD16_021D7B98
|
|
|
|
thumb_func_start MOD16_021D7BE4
|
|
MOD16_021D7BE4: ; 0x021D7BE4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r2, #0
|
|
bl FUN_0202022C
|
|
cmp r0, #3
|
|
bhi _021D7C6C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021D7C00: ; jump table
|
|
.short _021D7C08 - _021D7C00 - 2 ; case 0
|
|
.short _021D7C22 - _021D7C00 - 2 ; case 1
|
|
.short _021D7C3C - _021D7C00 - 2 ; case 2
|
|
.short _021D7C56 - _021D7C00 - 2 ; case 3
|
|
_021D7C08:
|
|
ldr r0, [r4]
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl FUN_020119A4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [sp, #4]
|
|
add r2, r5, #0
|
|
bl FUN_020118C4
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021D7C22:
|
|
ldr r0, [r4]
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl FUN_020119A4
|
|
sub r2, r5, #2
|
|
str r2, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [sp, #4]
|
|
bl FUN_020118C4
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021D7C3C:
|
|
ldr r0, [r4]
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl FUN_020119A4
|
|
sub r2, r5, #4
|
|
str r2, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [sp, #4]
|
|
bl FUN_020118C4
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021D7C56:
|
|
ldr r0, [r4]
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl FUN_020119A4
|
|
sub r2, r5, #2
|
|
str r2, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [sp, #4]
|
|
bl FUN_020118C4
|
|
_021D7C6C:
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D7BE4
|
|
|
|
thumb_func_start MOD16_021D7C70
|
|
MOD16_021D7C70: ; 0x021D7C70
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021D7BE4
|
|
add r0, r5, #0
|
|
bl FUN_0202022C
|
|
cmp r0, #2
|
|
ldr r0, [r4]
|
|
bge _021D7C90
|
|
add r1, r6, #0
|
|
bl FUN_02011AC0
|
|
pop {r4, r5, r6, pc}
|
|
_021D7C90:
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02011AC0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021D7C70
|
|
|
|
thumb_func_start MOD16_021D7C98
|
|
MOD16_021D7C98: ; 0x021D7C98
|
|
strb r1, [r0]
|
|
strb r2, [r0, #1]
|
|
ldr r1, [sp]
|
|
strb r3, [r0, #2]
|
|
strb r1, [r0, #3]
|
|
bx lr
|
|
thumb_func_end MOD16_021D7C98
|
|
|
|
thumb_func_start MOD16_021D7CA4
|
|
MOD16_021D7CA4: ; 0x021D7CA4
|
|
str r1, [r0]
|
|
str r2, [r0, #8]
|
|
ldr r2, [sp]
|
|
ldr r1, [sp, #4]
|
|
str r3, [r0, #4]
|
|
str r2, [r0, #0xc]
|
|
sub r1, r1, r2
|
|
str r1, [r0, #0x14]
|
|
ldr r2, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
str r2, [r0, #0x10]
|
|
sub r1, r1, r2
|
|
str r1, [r0, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
str r1, [r0, #0x20]
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c]
|
|
bx lr
|
|
thumb_func_end MOD16_021D7CA4
|
|
|
|
thumb_func_start MOD16_021D7CC8
|
|
MOD16_021D7CC8: ; 0x021D7CC8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #0x1c]
|
|
ldr r0, [r5, #0x20]
|
|
cmp r1, r0
|
|
bgt _021D7D94
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
ldr r1, [r5, #0x14]
|
|
ldr r6, [r5, #0x1c]
|
|
add r0, r1, #0
|
|
ldr r4, [r5, #0x20]
|
|
mul r0, r6
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
ldr r1, [r5, #0x18]
|
|
add r7, r0, #0
|
|
add r0, r1, #0
|
|
mul r0, r6
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
ldr r1, [r5, #0xc]
|
|
ldr r2, [r5, #0x10]
|
|
add r1, r7, r1
|
|
add r4, r0, r2
|
|
cmp r1, #0
|
|
ble _021D7D4C
|
|
mov r0, #0x20
|
|
lsl r2, r1, #0x18
|
|
str r0, [sp]
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
sub r1, r0, r1
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #0
|
|
lsl r1, r1, #0x18
|
|
str r2, [sp, #0xc]
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl FUN_02018170
|
|
_021D7D4C:
|
|
mov r0, #0x20
|
|
sub r3, r0, r4
|
|
cmp r3, #0
|
|
ble _021D7D7C
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #4]
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r5, #8]
|
|
lsl r3, r3, #0x18
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r5]
|
|
lsr r1, r1, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02018170
|
|
_021D7D7C:
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FUN_0201AC68
|
|
ldr r0, [r5, #0x1c]
|
|
add sp, #0x1c
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021D7D94:
|
|
mov r0, #1
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7CC8
|
|
|
|
thumb_func_start MOD16_021D7D9C
|
|
MOD16_021D7D9C: ; 0x021D7D9C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #4
|
|
add r1, r3, #0
|
|
add r7, r2, #0
|
|
str r3, [sp, #0x10]
|
|
bl FUN_020219F4
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
add r1, r6, #0
|
|
mov r2, #3
|
|
mov r3, #2
|
|
add r4, r0, #0
|
|
bl FUN_02021B04
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
bl MOD16_021DBBC8
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D7E10 ; =0x00030201
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r3, #0x16
|
|
bl FUN_0201BDE0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D7E10 ; =0x00030201
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r3, #0x31
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl MOD16_021DBBAC
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D7E10: .word 0x00030201
|
|
thumb_func_end MOD16_021D7D9C
|
|
|
|
thumb_func_start MOD16_021D7E14
|
|
MOD16_021D7E14: ; 0x021D7E14
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021D9D04
|
|
cmp r0, #0
|
|
bne _021D7E36
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021D7E68
|
|
pop {r4, r5, r6, pc}
|
|
_021D7E36:
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021D7E48
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7E14
|
|
|
|
thumb_func_start MOD16_021D7E48
|
|
MOD16_021D7E48: ; 0x021D7E48
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
mov r1, #0xf
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r1, r6, #0
|
|
add r2, r6, #0
|
|
add r3, r5, #0
|
|
add r4, r0, #0
|
|
bl MOD16_021D7D9C
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7E48
|
|
|
|
thumb_func_start MOD16_021D7E68
|
|
MOD16_021D7E68: ; 0x021D7E68
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
add r4, r0, #0
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
add r5, r1, #0
|
|
bl FUN_02069B40
|
|
add r7, r0, #0
|
|
cmp r7, #0
|
|
bgt _021D7E82
|
|
bl ErrorHandling
|
|
_021D7E82:
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
add r3, r5, #0
|
|
add r4, r0, #0
|
|
bl MOD16_021D7D9C
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D7E68
|
|
|
|
thumb_func_start MOD16_021D7E9C
|
|
MOD16_021D7E9C: ; 0x021D7E9C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
add r4, r3, #0
|
|
add r0, r7, #0
|
|
str r2, [sp, #4]
|
|
bl MOD16_021D9D04
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D9E08
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021D8838
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021D8854
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x58]
|
|
add r1, sp, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x5c]
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
bl FUN_02020044
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #2
|
|
bne _021D7F08
|
|
mov r0, #0x36
|
|
ldr r1, [sp, #0x58]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x5c]
|
|
add r1, sp, #0x10
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
bl FUN_02020044
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
b _021D7F10
|
|
_021D7F08:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021D7F10:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021D88D4
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0x3f
|
|
mvn r0, r0
|
|
str r0, [sp, #0x2c]
|
|
add r0, #0x38
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
str r0, [sp, #0x38]
|
|
mov r0, #1
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #4]
|
|
str r6, [sp, #0x28]
|
|
str r0, [sp, #0x40]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [r4]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021D7E14
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #8]
|
|
str r6, [sp, #0x20]
|
|
str r0, [sp]
|
|
ldr r3, [r4]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x1c
|
|
mov r2, #0
|
|
bl MOD16_021D8870
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D7E9C
|
|
|
|
thumb_func_start MOD16_021D7F6C
|
|
MOD16_021D7F6C: ; 0x021D7F6C
|
|
mov r3, #0x6d
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _021D7F78 ; =MOD16_021D7F7C
|
|
bx r3
|
|
nop
|
|
_021D7F78: .word MOD16_021D7F7C
|
|
thumb_func_end MOD16_021D7F6C
|
|
|
|
thumb_func_start MOD16_021D7F7C
|
|
MOD16_021D7F7C: ; 0x021D7F7C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
lsl r0, r1, #0xc
|
|
str r0, [sp]
|
|
lsl r0, r2, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
mov r0, #0x36
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021D7FB0
|
|
bl FUN_02011938
|
|
_021D7FB0:
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021D7F7C
|
|
|
|
thumb_func_start MOD16_021D7FB4
|
|
MOD16_021D7FB4: ; 0x021D7FB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [sp, #0x28]
|
|
ldr r5, [sp, #0x2c]
|
|
cmp r2, #0xc9
|
|
bne _021D7FD4
|
|
str r5, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r2, r3, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021D80CC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D7FD4:
|
|
mov r7, #0x67
|
|
lsl r7, r7, #2
|
|
cmp r2, r7
|
|
bne _021D7FF0
|
|
str r5, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r2, r3, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021D81A0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D7FF0:
|
|
add r4, r7, #1
|
|
cmp r2, r4
|
|
bne _021D800A
|
|
str r5, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r2, r3, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021D81E4
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D800A:
|
|
add r4, r7, #0
|
|
add r4, #0xa
|
|
cmp r2, r4
|
|
bne _021D8026
|
|
str r5, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r2, r3, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021D8110
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D8026:
|
|
add r4, r7, #0
|
|
add r4, #0xb
|
|
cmp r2, r4
|
|
bne _021D8042
|
|
str r5, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r2, r3, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021D8158
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D8042:
|
|
sub r7, #0x1a
|
|
cmp r2, r7
|
|
bne _021D805C
|
|
str r5, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r2, r3, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021D822C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D805C:
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
mov r4, #0
|
|
str r4, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
bl MOD16_021D8070
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D7FB4
|
|
|
|
thumb_func_start MOD16_021D8070
|
|
MOD16_021D8070: ; 0x021D8070
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r7, r0, #0
|
|
ldr r0, _021D80C8 ; =0x00000147
|
|
add r5, r2, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
str r3, [sp, #0x18]
|
|
cmp r5, r0
|
|
bne _021D808C
|
|
add r0, r6, #0
|
|
bl MOD16_021D9A30
|
|
add r4, r0, #0
|
|
_021D808C:
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021D98DC
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021D80C0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
str r4, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x34]
|
|
ldr r3, [sp, #0x18]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x3c]
|
|
add r1, r5, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021D8718
|
|
_021D80C0:
|
|
add r0, r6, #0
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D80C8: .word 0x00000147
|
|
thumb_func_end MOD16_021D8070
|
|
|
|
thumb_func_start MOD16_021D80CC
|
|
MOD16_021D80CC: ; 0x021D80CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
bl MOD16_021D98EC
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021D810A
|
|
mov r1, #0
|
|
lsl r0, r4, #0x18
|
|
str r1, [sp]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
mov r1, #0xc9
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
add r3, r7, #0
|
|
bl MOD16_021D8718
|
|
_021D810A:
|
|
add r0, r4, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D80CC
|
|
|
|
thumb_func_start MOD16_021D8110
|
|
MOD16_021D8110: ; 0x021D8110
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
bl MOD16_021D9904
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021D814C
|
|
mov r2, #0
|
|
lsl r0, r4, #0x18
|
|
str r2, [sp]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, _021D8154 ; =0x000001A6
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021D8718
|
|
_021D814C:
|
|
add r0, r4, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D8154: .word 0x000001A6
|
|
thumb_func_end MOD16_021D8110
|
|
|
|
thumb_func_start MOD16_021D8158
|
|
MOD16_021D8158: ; 0x021D8158
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
bl MOD16_021D991C
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021D8194
|
|
mov r2, #0
|
|
lsl r0, r4, #0x18
|
|
str r2, [sp]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, _021D819C ; =0x000001A7
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021D8718
|
|
_021D8194:
|
|
add r0, r4, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D819C: .word 0x000001A7
|
|
thumb_func_end MOD16_021D8158
|
|
|
|
thumb_func_start MOD16_021D81A0
|
|
MOD16_021D81A0: ; 0x021D81A0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
bl MOD16_021D9934
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021D81DE
|
|
mov r2, #0
|
|
lsl r0, r4, #0x18
|
|
str r2, [sp]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
str r2, [sp, #8]
|
|
mov r1, #0x67
|
|
ldr r0, [sp, #0x30]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021D8718
|
|
_021D81DE:
|
|
add r0, r4, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D81A0
|
|
|
|
thumb_func_start MOD16_021D81E4
|
|
MOD16_021D81E4: ; 0x021D81E4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
bl MOD16_021D994C
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021D8222
|
|
mov r1, #0
|
|
lsl r0, r4, #0x18
|
|
str r1, [sp]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, _021D8228 ; =0x0000019D
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
mov r2, #1
|
|
add r3, r7, #0
|
|
bl MOD16_021D8718
|
|
_021D8222:
|
|
add r0, r4, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D8228: .word 0x0000019D
|
|
thumb_func_end MOD16_021D81E4
|
|
|
|
thumb_func_start MOD16_021D822C
|
|
MOD16_021D822C: ; 0x021D822C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
bl MOD16_021D9A3C
|
|
add r4, r0, #0
|
|
cmp r4, #0xf
|
|
beq _021D8266
|
|
mov r1, #0
|
|
lsl r0, r4, #0x18
|
|
str r1, [sp]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, _021D826C ; =0x00000182
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
mov r2, #1
|
|
add r3, r7, #0
|
|
bl MOD16_021D8718
|
|
_021D8266:
|
|
add r0, r4, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D826C: .word 0x00000182
|
|
thumb_func_end MOD16_021D822C
|
|
|
|
thumb_func_start MOD16_021D8270
|
|
MOD16_021D8270: ; 0x021D8270
|
|
push {r3, r4, r5, lr}
|
|
ldr r2, _021D8294 ; =0x00000266
|
|
add r4, r0, #0
|
|
add r3, r1, #0
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
bl FUN_0200A86C
|
|
add r5, r0, #0
|
|
add r1, r4, #0
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl FUN_0200A8B8
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D8294: .word 0x00000266
|
|
thumb_func_end MOD16_021D8270
|
|
|
|
thumb_func_start MOD16_021D8298
|
|
MOD16_021D8298: ; 0x021D8298
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _021D83D4 ; =0x00001A1C
|
|
add r0, r6, r0
|
|
bl MOD16_021DAC7C
|
|
ldr r0, _021D83D8 ; =0x00001A0C
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D82B0
|
|
bl ErrorHandling
|
|
_021D82B0:
|
|
ldr r0, _021D83D8 ; =0x00001A0C
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83DC ; =0x00001A10
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D82C4
|
|
bl ErrorHandling
|
|
_021D82C4:
|
|
ldr r0, _021D83DC ; =0x00001A10
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83E0 ; =0x00001A14
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D82D8
|
|
bl ErrorHandling
|
|
_021D82D8:
|
|
ldr r0, _021D83E0 ; =0x00001A14
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83E4 ; =0x00001A18
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D82EC
|
|
bl ErrorHandling
|
|
_021D82EC:
|
|
ldr r0, _021D83E4 ; =0x00001A18
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D8302
|
|
bl ErrorHandling
|
|
_021D8302:
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #8
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83E8 ; =0x00001D04
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D8318
|
|
bl ErrorHandling
|
|
_021D8318:
|
|
ldr r0, _021D83E8 ; =0x00001D04
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83EC ; =0x00001D08
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D832C
|
|
bl ErrorHandling
|
|
_021D832C:
|
|
ldr r0, _021D83EC ; =0x00001D08
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83F0 ; =0x00001D0C
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _021D8340
|
|
bl ErrorHandling
|
|
_021D8340:
|
|
ldr r0, _021D83F0 ; =0x00001D0C
|
|
ldr r0, [r6, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021D83F4 ; =0x00001A30
|
|
ldr r4, _021D83F8 ; =0x021FF440
|
|
mov r7, #0
|
|
add r5, r6, r0
|
|
_021D8350:
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021D835A
|
|
add r0, r5, #0
|
|
blx r1
|
|
_021D835A:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r5, #0x28
|
|
cmp r7, #0xa
|
|
blt _021D8350
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #6
|
|
ldr r4, _021D83FC ; =0x021FF3F8
|
|
mov r7, #0
|
|
add r5, r6, r0
|
|
_021D836E:
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021D8378
|
|
add r0, r5, #0
|
|
blx r1
|
|
_021D8378:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r5, #0x28
|
|
cmp r7, #8
|
|
blt _021D836E
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
bl MOD16_021D9A6C
|
|
add r1, r0, #0
|
|
ldr r0, [r6, #8]
|
|
bl FUN_0208A32C
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
mov r1, #1
|
|
bl MOD16_021D9CD0
|
|
cmp r0, #1
|
|
bne _021D83B2
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
bl MOD16_021D9A84
|
|
add r1, r0, #0
|
|
ldr r0, [r6, #8]
|
|
bl FUN_0208A334
|
|
b _021D83BA
|
|
_021D83B2:
|
|
ldr r0, [r6, #8]
|
|
mov r1, #2
|
|
bl FUN_0208A334
|
|
_021D83BA:
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
bl MOD16_021D98B0
|
|
ldr r0, _021D8400 ; =0x0000177C
|
|
add r0, r6, r0
|
|
bl MOD16_021D8628
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D83D4: .word 0x00001A1C
|
|
_021D83D8: .word 0x00001A0C
|
|
_021D83DC: .word 0x00001A10
|
|
_021D83E0: .word 0x00001A14
|
|
_021D83E4: .word 0x00001A18
|
|
_021D83E8: .word 0x00001D04
|
|
_021D83EC: .word 0x00001D08
|
|
_021D83F0: .word 0x00001D0C
|
|
_021D83F4: .word 0x00001A30
|
|
_021D83F8: .word 0x021FF440
|
|
_021D83FC: .word 0x021FF3F8
|
|
_021D8400: .word 0x0000177C
|
|
thumb_func_end MOD16_021D8298
|
|
|
|
thumb_func_start MOD16_021D8404
|
|
MOD16_021D8404: ; 0x021D8404
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _021D8420 ; =0x021FF468
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_021D840E:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021D840E
|
|
add r0, sp, #0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D8420: .word 0x021FF468
|
|
thumb_func_end MOD16_021D8404
|
|
|
|
thumb_func_start MOD16_021D8424
|
|
MOD16_021D8424: ; 0x021D8424
|
|
push {r4, r5, lr}
|
|
sub sp, #0x24
|
|
add r4, r0, #0
|
|
bl FUN_020B0FC0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x80
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x20
|
|
str r3, [sp, #0xc]
|
|
add r2, r0, #0
|
|
str r4, [sp, #0x10]
|
|
bl FUN_02009EAC
|
|
ldr r5, _021D8474 ; =0x021FF3C8
|
|
add r3, sp, #0x14
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
ldr r1, _021D8478 ; =0x00200010
|
|
mov r2, #0x10
|
|
str r4, [sp, #0x20]
|
|
bl FUN_0201D060
|
|
mov r0, #0x20
|
|
add r1, r4, #0
|
|
bl FUN_0201E00C
|
|
bl FUN_0201D168
|
|
bl FUN_0201E0BC
|
|
add sp, #0x24
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021D8474: .word 0x021FF3C8
|
|
_021D8478: .word 0x00200010
|
|
thumb_func_end MOD16_021D8424
|
|
|
|
thumb_func_start MOD16_021D847C
|
|
MOD16_021D847C: ; 0x021D847C
|
|
push {r4, lr}
|
|
ldr r1, _021D8498 ; =0x00001A0C
|
|
add r4, r0, #0
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x10
|
|
add r1, r4, r1
|
|
mov r2, #1
|
|
bl MOD16_021DA888
|
|
ldr r0, _021D849C ; =0x000019FC
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_021D8498: .word 0x00001A0C
|
|
_021D849C: .word 0x000019FC
|
|
thumb_func_end MOD16_021D847C
|
|
|
|
thumb_func_start MOD16_021D84A0
|
|
MOD16_021D84A0: ; 0x021D84A0
|
|
push {r3, lr}
|
|
bl FUN_020BB7F4
|
|
bl G3X_InitMtxStack
|
|
ldr r0, _021D8500 ; =0x04000060
|
|
ldr r2, _021D8504 ; =0xFFFFCFFD
|
|
ldrh r1, [r0]
|
|
and r1, r2
|
|
strh r1, [r0]
|
|
ldrh r3, [r0]
|
|
add r1, r2, #2
|
|
and r3, r1
|
|
mov r1, #0x10
|
|
orr r1, r3
|
|
strh r1, [r0]
|
|
ldrh r3, [r0]
|
|
ldr r1, _021D8508 ; =0x0000CFFB
|
|
and r1, r3
|
|
strh r1, [r0]
|
|
add r1, r2, #2
|
|
ldrh r3, [r0]
|
|
lsr r2, r2, #0x11
|
|
and r3, r1
|
|
mov r1, #8
|
|
orr r1, r3
|
|
strh r1, [r0]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
mov r3, #0x3f
|
|
str r0, [sp]
|
|
bl G3X_SetClearColor
|
|
ldr r1, _021D850C ; =0x04000540
|
|
mov r0, #2
|
|
str r0, [r1]
|
|
ldr r0, _021D8510 ; =0xBFFF0000
|
|
str r0, [r1, #0x40]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_020AEB70
|
|
mov r0, #1
|
|
lsl r0, r0, #0xe
|
|
mov r1, #1
|
|
bl FUN_020AEDF4
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021D8500: .word 0x04000060
|
|
_021D8504: .word 0xFFFFCFFD
|
|
_021D8508: .word 0x0000CFFB
|
|
_021D850C: .word 0x04000540
|
|
_021D8510: .word 0xBFFF0000
|
|
thumb_func_end MOD16_021D84A0
|
|
|
|
thumb_func_start MOD16_021D8514
|
|
MOD16_021D8514: ; 0x021D8514
|
|
push {r3, lr}
|
|
bl FUN_020AEAF4
|
|
bl FUN_020AEC60
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021D8514
|
|
|
|
thumb_func_start MOD16_021D8520
|
|
MOD16_021D8520: ; 0x021D8520
|
|
mov r0, #0x46
|
|
bx lr
|
|
thumb_func_end MOD16_021D8520
|
|
|
|
thumb_func_start MOD16_021D8524
|
|
MOD16_021D8524: ; 0x021D8524
|
|
add r0, r0, #3
|
|
bx lr
|
|
thumb_func_end MOD16_021D8524
|
|
|
|
thumb_func_start MOD16_021D8528
|
|
MOD16_021D8528: ; 0x021D8528
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021D8528
|
|
|
|
thumb_func_start MOD16_021D852C
|
|
MOD16_021D852C: ; 0x021D852C
|
|
mov r0, #2
|
|
bx lr
|
|
thumb_func_end MOD16_021D852C
|
|
|
|
thumb_func_start MOD16_021D8530
|
|
MOD16_021D8530: ; 0x021D8530
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021D8530
|
|
|
|
thumb_func_start MOD16_021D8534
|
|
MOD16_021D8534: ; 0x021D8534
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
mov r0, #0x45
|
|
add r4, r1, #0
|
|
bl NARC_ctor
|
|
mov r1, #0x9f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r4, #0
|
|
bl FUN_02016B94
|
|
str r0, [r5]
|
|
mov r1, #1
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp, #0x10]
|
|
str r1, [sp, #0x18]
|
|
str r1, [sp, #0x1c]
|
|
add r0, sp, #0x10
|
|
bl FUN_02016BBC
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl MOD16_021D8DC0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D8F60
|
|
add r1, r5, #0
|
|
mov r0, #0x80
|
|
add r1, #0x14
|
|
add r2, r4, #0
|
|
bl FUN_02008C9C
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x20
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
mov r1, #5
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r0, #0x20
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x20
|
|
mov r1, #2
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
mov r1, #0x52
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x20
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
mov r1, #0x53
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0
|
|
str r4, [sp, #0xc]
|
|
bl MOD16_021DB228
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
mov r0, #2
|
|
add r1, r4, #0
|
|
bl FUN_02002C50
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D8F9C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D9078
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D921C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D9400
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D94EC
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8534
|
|
|
|
thumb_func_start MOD16_021D8628
|
|
MOD16_021D8628: ; 0x021D8628
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021D92DC
|
|
add r0, r4, #0
|
|
bl MOD16_021D91A0
|
|
add r0, r4, #0
|
|
bl MOD16_021D959C
|
|
add r0, r4, #0
|
|
bl MOD16_021D94A4
|
|
add r0, r4, #0
|
|
bl MOD16_021D8F90
|
|
ldr r0, [r4]
|
|
bl MOD16_021D8F2C
|
|
ldr r0, [r4]
|
|
bl FreeToHeap
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FD58
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02008E2C
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02008E2C
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02008E2C
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02008E2C
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DB288
|
|
mov r0, #2
|
|
bl FUN_02002CF8
|
|
add r0, r4, #0
|
|
bl MOD16_021D9044
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl NARC_dtor
|
|
mov r2, #0xa
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #6
|
|
bl memset
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D8628
|
|
|
|
thumb_func_start MOD16_021D86B4
|
|
MOD16_021D86B4: ; 0x021D86B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FDEC
|
|
bl FUN_020B02C8
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02006ED4
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02013D5C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D86B4
|
|
|
|
thumb_func_start MOD16_021D86DC
|
|
MOD16_021D86DC: ; 0x021D86DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0201AB60
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020081C4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D86DC
|
|
|
|
thumb_func_start MOD16_021D86F4
|
|
MOD16_021D86F4: ; 0x021D86F4
|
|
push {r3, lr}
|
|
mov r3, #0
|
|
bl MOD16_021D87BC
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D86F4
|
|
|
|
thumb_func_start MOD16_021D8700
|
|
MOD16_021D8700: ; 0x021D8700
|
|
ldr r3, _021D8708 ; =MOD16_021D8804
|
|
mov r1, #0
|
|
bx r3
|
|
nop
|
|
_021D8708: .word MOD16_021D8804
|
|
thumb_func_end MOD16_021D8700
|
|
|
|
thumb_func_start MOD16_021D870C
|
|
MOD16_021D870C: ; 0x021D870C
|
|
ldr r3, _021D8714 ; =MOD16_021D8810
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_021D8714: .word MOD16_021D8810
|
|
thumb_func_end MOD16_021D870C
|
|
|
|
thumb_func_start MOD16_021D8718
|
|
MOD16_021D8718: ; 0x021D8718
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r1, #0
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0x10]
|
|
add r7, r0, r1
|
|
ldr r0, [sp, #0x54]
|
|
add r4, r2, #0
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r7, r0]
|
|
add r6, r3, #0
|
|
cmp r0, #0
|
|
beq _021D873A
|
|
bl FUN_02007534
|
|
_021D873A:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _021D874E
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0
|
|
bl FUN_02068A20
|
|
add r4, r0, #0
|
|
_021D874E:
|
|
ldr r0, [sp, #0x40]
|
|
lsl r1, r5, #0x10
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
add r0, sp, #0x30
|
|
ldrb r0, [r0, #0x14]
|
|
lsl r2, r4, #0x18
|
|
lsl r3, r6, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x48]
|
|
lsr r1, r1, #0x10
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02068C00
|
|
cmp r6, #0
|
|
bne _021D8792
|
|
ldr r0, [sp, #0x48]
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r3, sp, #0x30
|
|
lsl r0, r5, #0x10
|
|
lsl r2, r6, #0x18
|
|
ldrb r3, [r3, #0x14]
|
|
lsr r0, r0, #0x10
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl FUN_02068E88
|
|
add r3, r0, #0
|
|
b _021D8794
|
|
_021D8792:
|
|
mov r3, #0
|
|
_021D8794:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0x55
|
|
ldr r4, [sp, #0x50]
|
|
ldr r0, [sp, #0x10]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
ldr r2, [sp, #0x4c]
|
|
add r1, sp, #0x18
|
|
add r3, r4, r3
|
|
bl FUN_020073A0
|
|
ldr r1, [sp, #0x14]
|
|
str r0, [r7, r1]
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8718
|
|
|
|
thumb_func_start MOD16_021D87BC
|
|
MOD16_021D87BC: ; 0x021D87BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
add r5, r0, r1
|
|
lsl r4, r3, #2
|
|
add r7, r2, #0
|
|
ldr r0, [r5, r4]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl FUN_02007558
|
|
ldr r0, [r5, r4]
|
|
mov r1, #1
|
|
add r2, r7, #0
|
|
bl FUN_02007558
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D87BC
|
|
|
|
thumb_func_start MOD16_021D87E0
|
|
MOD16_021D87E0: ; 0x021D87E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
add r5, r0, r1
|
|
lsl r4, r3, #2
|
|
ldr r0, [r5, r4]
|
|
mov r1, #0
|
|
add r7, r2, #0
|
|
bl FUN_0200782C
|
|
str r0, [r6]
|
|
ldr r0, [r5, r4]
|
|
mov r1, #1
|
|
bl FUN_0200782C
|
|
str r0, [r7]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D87E0
|
|
|
|
thumb_func_start MOD16_021D8804
|
|
MOD16_021D8804: ; 0x021D8804
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bx lr
|
|
thumb_func_end MOD16_021D8804
|
|
|
|
thumb_func_start MOD16_021D8810
|
|
MOD16_021D8810: ; 0x021D8810
|
|
push {r3, lr}
|
|
lsl r2, r2, #2
|
|
add r2, r0, r2
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _021D8836
|
|
cmp r1, #1
|
|
bne _021D882E
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_02007558
|
|
pop {r3, pc}
|
|
_021D882E:
|
|
mov r1, #6
|
|
mov r2, #1
|
|
bl FUN_02007558
|
|
_021D8836:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021D8810
|
|
|
|
thumb_func_start MOD16_021D8838
|
|
MOD16_021D8838: ; 0x021D8838
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021D884A
|
|
bl ErrorHandling
|
|
_021D884A:
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8838
|
|
|
|
thumb_func_start MOD16_021D8854
|
|
MOD16_021D8854: ; 0x021D8854
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021D8866
|
|
bl ErrorHandling
|
|
_021D8866:
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8854
|
|
|
|
thumb_func_start MOD16_021D8870
|
|
MOD16_021D8870: ; 0x021D8870
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
mov r4, #0x6d
|
|
lsl r4, r4, #2
|
|
add r0, r0, r4
|
|
bl MOD16_021D8888
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8870
|
|
|
|
thumb_func_start MOD16_021D8888
|
|
MOD16_021D8888: ; 0x021D8888
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
cmp r3, r0
|
|
bne _021D88AA
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r5, #0x2c]
|
|
cmp r1, r0
|
|
bne _021D88AA
|
|
ldr r0, [r5, #8]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
pop {r4, r5, r6, pc}
|
|
_021D88AA:
|
|
ldr r0, [sp, #0x10]
|
|
str r3, [r5, #0x28]
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _021D88BA
|
|
bl MOD16_021DB338
|
|
_021D88BA:
|
|
cmp r4, #0
|
|
beq _021D88CA
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DB2D4
|
|
str r0, [r5, #8]
|
|
pop {r4, r5, r6, pc}
|
|
_021D88CA:
|
|
add r0, r6, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #8]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021D8888
|
|
|
|
thumb_func_start MOD16_021D88D4
|
|
MOD16_021D88D4: ; 0x021D88D4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #3
|
|
ble _021D88E2
|
|
bl ErrorHandling
|
|
_021D88E2:
|
|
lsl r0, r5, #2
|
|
add r1, r4, r0
|
|
mov r0, #7
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D88D4
|
|
|
|
thumb_func_start MOD16_021D88F0
|
|
MOD16_021D88F0: ; 0x021D88F0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl FUN_02020398
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_02020398
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D88F0
|
|
|
|
thumb_func_start MOD16_021D891C
|
|
MOD16_021D891C: ; 0x021D891C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x6d
|
|
add r4, r1, #0
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl FUN_02020238
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl FUN_02020238
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r0]
|
|
lsr r1, r1, #0x18
|
|
bl FUN_02011A00
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D891C
|
|
|
|
thumb_func_start MOD16_021D8950
|
|
MOD16_021D8950: ; 0x021D8950
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
beq _021D8964
|
|
bl FUN_020200A0
|
|
_021D8964:
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _021D8974
|
|
add r1, r4, #0
|
|
bl FUN_020200A0
|
|
_021D8974:
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021D8986
|
|
add r1, r4, #0
|
|
bl FUN_020119D0
|
|
_021D8986:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D8950
|
|
|
|
thumb_func_start MOD16_021D8988
|
|
MOD16_021D8988: ; 0x021D8988
|
|
push {r4, r5}
|
|
ldr r4, [sp, #0x18]
|
|
ldr r5, [sp, #0x14]
|
|
str r4, [r0]
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [r0, #4]
|
|
mov r4, #0x20
|
|
orr r4, r5
|
|
str r4, [r0, #8]
|
|
str r2, [r0, #0xc]
|
|
sub r2, r3, r2
|
|
str r2, [r0, #0x10]
|
|
ldr r3, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
str r3, [r0, #0x14]
|
|
sub r2, r2, r3
|
|
str r2, [r0, #0x18]
|
|
str r1, [r0, #0x1c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x20]
|
|
pop {r4, r5}
|
|
bx lr
|
|
thumb_func_end MOD16_021D8988
|
|
|
|
thumb_func_start MOD16_021D89B4
|
|
MOD16_021D89B4: ; 0x021D89B4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
bl MOD16_021D8A7C
|
|
cmp r0, #0
|
|
bne _021D8A02
|
|
add r0, r5, #0
|
|
bl MOD16_021D8A14
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021D8A48
|
|
ldr r1, [r5]
|
|
cmp r1, #0
|
|
bne _021D89EA
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D8A0C ; =0x04000050
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [r5, #8]
|
|
add r3, r4, #0
|
|
bl G2x_SetBlendBrightnessExt_
|
|
b _021D89FC
|
|
_021D89EA:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D8A10 ; =0x04001050
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [r5, #8]
|
|
add r3, r4, #0
|
|
bl G2x_SetBlendBrightnessExt_
|
|
_021D89FC:
|
|
ldr r0, [r5, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x20]
|
|
_021D8A02:
|
|
add r0, r5, #0
|
|
bl MOD16_021D8A7C
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D8A0C: .word 0x04000050
|
|
_021D8A10: .word 0x04001050
|
|
thumb_func_end MOD16_021D89B4
|
|
|
|
thumb_func_start MOD16_021D8A14
|
|
MOD16_021D8A14: ; 0x021D8A14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
ldr r2, [r4, #0x20]
|
|
lsl r0, r0, #0xc
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
ldr r1, [r4, #0x1c]
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
asr r1, r0, #0xc
|
|
ldr r0, [r4, #0x14]
|
|
add r0, r1, r0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D8A14
|
|
|
|
thumb_func_start MOD16_021D8A48
|
|
MOD16_021D8A48: ; 0x021D8A48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
ldr r2, [r4, #0x20]
|
|
lsl r0, r0, #0xc
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
ldr r1, [r4, #0x1c]
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
asr r1, r0, #0xc
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r1, r0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D8A48
|
|
|
|
thumb_func_start MOD16_021D8A7C
|
|
MOD16_021D8A7C: ; 0x021D8A7C
|
|
ldr r1, [r0, #0x20]
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r1, r0
|
|
ble _021D8A88
|
|
mov r0, #1
|
|
bx lr
|
|
_021D8A88:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021D8A7C
|
|
|
|
thumb_func_start MOD16_021D8A8C
|
|
MOD16_021D8A8C: ; 0x021D8A8C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
bl MOD16_021D8A48
|
|
neg r4, r0
|
|
add r0, r5, #0
|
|
bl MOD16_021D8700
|
|
mov r3, #0
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
str r3, [sp]
|
|
bl FUN_02007E68
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D8A8C
|
|
|
|
thumb_func_start MOD16_021D8AAC
|
|
MOD16_021D8AAC: ; 0x021D8AAC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r0, r1, #0
|
|
bl MOD16_021D8A48
|
|
neg r6, r0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D8804
|
|
mov r3, #0
|
|
add r1, r6, #0
|
|
add r2, r6, #0
|
|
str r3, [sp]
|
|
bl FUN_02007E68
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021D8AAC
|
|
|
|
thumb_func_start MOD16_021D8AD4
|
|
MOD16_021D8AD4: ; 0x021D8AD4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021DB540
|
|
add r0, r5, #0
|
|
add r1, sp, #8
|
|
add r2, sp, #4
|
|
bl MOD16_021DB568
|
|
ldr r0, [sp, #4]
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021D8B04
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8AD4
|
|
|
|
thumb_func_start MOD16_021D8B04
|
|
MOD16_021D8B04: ; 0x021D8B04
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
bl MOD16_021D96B4
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021D8B04
|
|
|
|
thumb_func_start MOD16_021D8B14
|
|
MOD16_021D8B14: ; 0x021D8B14
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
_021D8B1C:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_020200A0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021D8B1C
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8B14
|
|
|
|
thumb_func_start MOD16_021D8B30
|
|
MOD16_021D8B30: ; 0x021D8B30
|
|
ldr r3, _021D8B38 ; =FUN_02020128
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D8B38: .word FUN_02020128
|
|
thumb_func_end MOD16_021D8B30
|
|
|
|
thumb_func_start MOD16_021D8B3C
|
|
MOD16_021D8B3C: ; 0x021D8B3C
|
|
str r1, [r0, #0x30]
|
|
cmp r1, #0
|
|
bne _021D8B46
|
|
mov r1, #0
|
|
str r1, [r0, #0x34]
|
|
_021D8B46:
|
|
bx lr
|
|
thumb_func_end MOD16_021D8B3C
|
|
|
|
thumb_func_start MOD16_021D8B48
|
|
MOD16_021D8B48: ; 0x021D8B48
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021DB540
|
|
add r0, r5, #0
|
|
add r1, sp, #8
|
|
add r2, sp, #4
|
|
bl MOD16_021DB568
|
|
ldr r0, [sp, #4]
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021D8B78
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8B48
|
|
|
|
thumb_func_start MOD16_021D8B78
|
|
MOD16_021D8B78: ; 0x021D8B78
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r3, #0
|
|
mov r3, #0x81
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
lsl r3, r3, #2
|
|
add r6, r2, #0
|
|
str r4, [r5, r3]
|
|
add r0, r3, #4
|
|
str r6, [r5, r0]
|
|
add r0, r3, #0
|
|
add r0, #8
|
|
str r7, [r5, r0]
|
|
add r0, r3, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r0, #0xc
|
|
str r1, [r5, r0]
|
|
add r0, r3, #0
|
|
add r0, #0xc
|
|
ldr r0, [r5, r0]
|
|
add r2, r3, #4
|
|
str r0, [sp]
|
|
add r0, r3, #0
|
|
ldr r1, [r5, r3]
|
|
add r3, #8
|
|
sub r0, #0x20
|
|
ldr r2, [r5, r2]
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, r0
|
|
bl MOD16_021D9668
|
|
mov r0, #0x26
|
|
lsl r0, r0, #4
|
|
str r4, [r5, r0]
|
|
add r1, r0, #4
|
|
str r6, [r5, r1]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
str r7, [r5, r1]
|
|
add r1, r0, #0
|
|
ldr r2, [sp, #0x18]
|
|
add r1, #0xc
|
|
str r2, [r5, r1]
|
|
mov r1, #0
|
|
add r0, #0x10
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8B78
|
|
|
|
thumb_func_start MOD16_021D8BD8
|
|
MOD16_021D8BD8: ; 0x021D8BD8
|
|
str r1, [r0]
|
|
str r3, [r0, #4]
|
|
str r1, [r0, #8]
|
|
str r3, [r0, #0xc]
|
|
sub r1, r2, r1
|
|
str r1, [r0, #0x10]
|
|
ldr r1, [sp]
|
|
sub r1, r1, r3
|
|
str r1, [r0, #0x14]
|
|
ldr r1, [sp, #4]
|
|
str r1, [r0, #0x1c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end MOD16_021D8BD8
|
|
|
|
thumb_func_start MOD16_021D8BF4
|
|
MOD16_021D8BF4: ; 0x021D8BF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, [r5, #0x18]
|
|
lsl r0, r0, #0xc
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
ldr r1, [r5, #0x1c]
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, [r5, #0x18]
|
|
lsl r0, r0, #0xc
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
ldr r1, [r5, #0x1c]
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
ldr r1, [r5, #8]
|
|
asr r2, r4, #0xc
|
|
add r1, r2, r1
|
|
str r1, [r5]
|
|
asr r1, r0, #0xc
|
|
ldr r0, [r5, #0xc]
|
|
add r0, r1, r0
|
|
str r0, [r5, #4]
|
|
ldr r0, [r5, #0x18]
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r0, #1
|
|
cmp r0, r1
|
|
bgt _021D8C6A
|
|
str r0, [r5, #0x18]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D8C6A:
|
|
str r1, [r5, #0x18]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D8BF4
|
|
|
|
thumb_func_start MOD16_021D8C70
|
|
MOD16_021D8C70: ; 0x021D8C70
|
|
mov r1, #0x9f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end MOD16_021D8C70
|
|
|
|
thumb_func_start MOD16_021D8C78
|
|
MOD16_021D8C78: ; 0x021D8C78
|
|
push {r4, r5, r6, lr}
|
|
add r5, r2, #0
|
|
mov r2, #0x9f
|
|
lsl r2, r2, #2
|
|
add r6, r3, #0
|
|
ldr r0, [r0, r2]
|
|
add r2, r6, #0
|
|
bl NARC_AllocAndReadWholeMember
|
|
add r4, r0, #0
|
|
beq _021D8CB0
|
|
cmp r5, #0
|
|
beq _021D8CB0
|
|
ldr r1, [r4]
|
|
add r0, r6, #0
|
|
lsr r1, r1, #8
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
beq _021D8CAE
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MI_UncompressLZ8
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
_021D8CAE:
|
|
add r4, r5, #0
|
|
_021D8CB0:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021D8C78
|
|
|
|
thumb_func_start MOD16_021D8CB4
|
|
MOD16_021D8CB4: ; 0x021D8CB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r2, #0
|
|
add r5, r3, #0
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x2c]
|
|
ldr r4, [sp, #0x24]
|
|
bl MOD16_021D8C78
|
|
add r7, r0, #0
|
|
beq _021D8CF6
|
|
add r1, sp, #4
|
|
bl FUN_020B0030
|
|
cmp r0, #0
|
|
beq _021D8CF0
|
|
cmp r4, #0
|
|
bne _021D8CDC
|
|
ldr r0, [sp, #4]
|
|
ldr r4, [r0, #0x10]
|
|
_021D8CDC:
|
|
ldr r0, [sp, #0x20]
|
|
lsl r1, r5, #0x18
|
|
str r0, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r0, r6, #0
|
|
ldr r2, [r2, #0x14]
|
|
lsr r1, r1, #0x18
|
|
add r3, r4, #0
|
|
bl FUN_02017E14
|
|
_021D8CF0:
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
_021D8CF6:
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D8CB4
|
|
|
|
thumb_func_start MOD16_021D8CFC
|
|
MOD16_021D8CFC: ; 0x021D8CFC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r3, #0
|
|
add r5, r2, #0
|
|
ldr r3, [sp, #0x1c]
|
|
mov r2, #0
|
|
ldr r4, [sp, #0x18]
|
|
bl MOD16_021D8C78
|
|
add r7, r0, #0
|
|
beq _021D8D42
|
|
add r1, sp, #0
|
|
bl FUN_020B0138
|
|
cmp r0, #0
|
|
beq _021D8D3C
|
|
cmp r4, #0
|
|
bne _021D8D22
|
|
ldr r0, [sp]
|
|
ldr r4, [r0, #8]
|
|
_021D8D22:
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0xc]
|
|
bl DC_FlushRange
|
|
ldr r0, [sp]
|
|
add r2, r4, #0
|
|
ldr r3, _021D8D44 ; =0x021FF548
|
|
lsl r4, r5, #2
|
|
ldr r0, [r0, #0xc]
|
|
ldr r3, [r3, r4]
|
|
add r1, r6, #0
|
|
blx r3
|
|
_021D8D3C:
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
_021D8D42:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D8D44: .word 0x021FF548
|
|
thumb_func_end MOD16_021D8CFC
|
|
|
|
thumb_func_start MOD16_021D8D48
|
|
MOD16_021D8D48: ; 0x021D8D48
|
|
push {r3, r4, r5, lr}
|
|
add r5, r3, #0
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D8C78
|
|
add r4, r0, #0
|
|
beq _021D8D6A
|
|
add r1, r5, #0
|
|
bl FUN_020B0180
|
|
cmp r0, #0
|
|
bne _021D8D6A
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D8D6A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8D48
|
|
|
|
thumb_func_start MOD16_021D8D70
|
|
MOD16_021D8D70: ; 0x021D8D70
|
|
push {r3, r4, r5, lr}
|
|
add r5, r2, #0
|
|
mov r2, #0
|
|
bl MOD16_021D8C78
|
|
add r4, r0, #0
|
|
beq _021D8D92
|
|
add r1, r5, #0
|
|
bl FUN_020B0138
|
|
cmp r0, #0
|
|
bne _021D8D92
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D8D92:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8D70
|
|
|
|
thumb_func_start MOD16_021D8D98
|
|
MOD16_021D8D98: ; 0x021D8D98
|
|
push {r3, r4, r5, lr}
|
|
add r5, r3, #0
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D8C78
|
|
add r4, r0, #0
|
|
beq _021D8DBA
|
|
add r1, r5, #0
|
|
bl FUN_020B0030
|
|
cmp r0, #0
|
|
bne _021D8DBA
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D8DBA:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D8D98
|
|
|
|
thumb_func_start MOD16_021D8DC0
|
|
MOD16_021D8DC0: ; 0x021D8DC0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0xa8
|
|
ldr r6, _021D8F14 ; =0x021FF510
|
|
add r3, sp, #0x8c
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #1
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
ldr r6, _021D8F18 ; =0x021FF4F4
|
|
add r3, sp, #0x70
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
mov r0, #0
|
|
mov r1, #2
|
|
bl FUN_020178BC
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_0201E6E4
|
|
ldr r6, _021D8F1C ; =0x021FF4D8
|
|
add r3, sp, #0x54
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
mov r1, #3
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #3
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
ldr r6, _021D8F20 ; =0x021FF4BC
|
|
add r3, sp, #0x38
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
mov r1, #5
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #5
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl FUN_02018744
|
|
ldr r6, _021D8F24 ; =0x021FF4A0
|
|
add r3, sp, #0x1c
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
mov r1, #6
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #6
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl FUN_02018744
|
|
ldr r6, _021D8F28 ; =0x021FF52C
|
|
add r3, sp, #0
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
mov r1, #7
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
mov r3, #1
|
|
bl FUN_02016C18
|
|
mov r0, #7
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl FUN_02018744
|
|
add sp, #0xa8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021D8F14: .word 0x021FF510
|
|
_021D8F18: .word 0x021FF4F4
|
|
_021D8F1C: .word 0x021FF4D8
|
|
_021D8F20: .word 0x021FF4BC
|
|
_021D8F24: .word 0x021FF4A0
|
|
_021D8F28: .word 0x021FF52C
|
|
thumb_func_end MOD16_021D8DC0
|
|
|
|
thumb_func_start MOD16_021D8F2C
|
|
MOD16_021D8F2C: ; 0x021D8F2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D8F2C
|
|
|
|
thumb_func_start MOD16_021D8F60
|
|
MOD16_021D8F60: ; 0x021D8F60
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
mov r3, #0
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, r4, #4
|
|
mov r2, #1
|
|
bl FUN_02019064
|
|
add r0, r4, #4
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #4
|
|
bl FUN_020191D0
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021D8F60
|
|
|
|
thumb_func_start MOD16_021D8F90
|
|
MOD16_021D8F90: ; 0x021D8F90
|
|
ldr r3, _021D8F98 ; =FUN_02019178
|
|
add r0, r0, #4
|
|
bx r3
|
|
nop
|
|
_021D8F98: .word FUN_02019178
|
|
thumb_func_end MOD16_021D8F90
|
|
|
|
thumb_func_start MOD16_021D8F9C
|
|
MOD16_021D8F9C: ; 0x021D8F9C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_02006D98
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r3, _021D9030 ; =0x021064B8
|
|
mov r0, #2
|
|
mov r1, #0
|
|
ldr r3, [r3]
|
|
lsl r0, r0, #0xe
|
|
add r2, r1, #0
|
|
blx r3
|
|
ldr r3, _021D9034 ; =0x021064C0
|
|
add r4, r0, #0
|
|
ldr r3, [r3]
|
|
mov r0, #0x80
|
|
mov r1, #0
|
|
mov r2, #1
|
|
blx r3
|
|
ldr r2, _021D9038 ; =0x7FFF0000
|
|
add r6, r0, #0
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
and r2, r4
|
|
lsl r1, r4, #0x10
|
|
lsr r2, r2, #0x10
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0xd
|
|
lsl r2, r2, #4
|
|
bl FUN_020081A8
|
|
ldr r2, _021D903C ; =0xFFFF0000
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
and r2, r6
|
|
lsl r1, r6, #0x10
|
|
lsr r2, r2, #0x10
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0xd
|
|
lsl r2, r2, #3
|
|
bl FUN_020081B4
|
|
mov r2, #0
|
|
mov r0, #0x56
|
|
add r3, r5, #0
|
|
add r1, r2, #0
|
|
lsl r0, r0, #2
|
|
_021D9004:
|
|
add r2, r2, #1
|
|
str r1, [r3, r0]
|
|
add r3, r3, #4
|
|
cmp r2, #4
|
|
blt _021D9004
|
|
ldr r4, _021D9040 ; =0x021FF490
|
|
add r3, sp, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
str r7, [sp, #0xc]
|
|
bl FUN_02013CD4
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D9030: .word 0x021064B8
|
|
_021D9034: .word 0x021064C0
|
|
_021D9038: .word 0x7FFF0000
|
|
_021D903C: .word 0xFFFF0000
|
|
_021D9040: .word 0x021FF490
|
|
thumb_func_end MOD16_021D8F9C
|
|
|
|
thumb_func_start MOD16_021D9044
|
|
MOD16_021D9044: ; 0x021D9044
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r6, #0x56
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
lsl r6, r6, #2
|
|
_021D9050:
|
|
ldr r0, [r5, r6]
|
|
cmp r0, #0
|
|
beq _021D905A
|
|
bl FUN_02007534
|
|
_021D905A:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021D9050
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl FUN_020072E8
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02013D18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021D9044
|
|
|
|
thumb_func_start MOD16_021D9078
|
|
MOD16_021D9078: ; 0x021D9078
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
mov r1, #0x6d
|
|
add r5, r0, #0
|
|
lsl r1, r1, #2
|
|
add r4, r5, r1
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021D9114 ; =0x00000BB8
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x4e
|
|
bl FUN_020091E0
|
|
str r0, [r4, #0xc]
|
|
bl FUN_02009B04
|
|
ldr r0, [r4, #0xc]
|
|
bl FUN_02009474
|
|
ldr r0, _021D9114 ; =0x00000BB8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r6, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r4, #0x10]
|
|
bl FUN_02009D68
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_02009474
|
|
ldr r0, _021D9114 ; =0x00000BB8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x4c
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r4, #0x14]
|
|
ldr r0, _021D9114 ; =0x00000BB8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x4d
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r4, #0x18]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D9114: .word 0x00000BB8
|
|
thumb_func_end MOD16_021D9078
|
|
|
|
thumb_func_start MOD16_021D9118
|
|
MOD16_021D9118: ; 0x021D9118
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _021D919C ; =0x00000BB8
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
add r6, r2, #0
|
|
str r3, [sp, #4]
|
|
add r4, r1, #0
|
|
str r6, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #0x45
|
|
mov r2, #0x4e
|
|
bl FUN_02008F34
|
|
str r0, [r5, #0xc]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0xc]
|
|
bl FUN_02009474
|
|
ldr r0, _021D919C ; =0x00000BB8
|
|
mov r1, #0x45
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_02008FEC
|
|
str r0, [r5, #0x10]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x10]
|
|
bl FUN_02009474
|
|
ldr r0, _021D919C ; =0x00000BB8
|
|
mov r1, #0x45
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #0x4c
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021D919C ; =0x00000BB8
|
|
mov r1, #0x45
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0x4d
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0x18]
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021D919C: .word 0x00000BB8
|
|
thumb_func_end MOD16_021D9118
|
|
|
|
thumb_func_start MOD16_021D91A0
|
|
MOD16_021D91A0: ; 0x021D91A0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
add r4, r5, r0
|
|
ldr r0, [r4, #0xc]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0xc]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x10]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x14]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x18]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D91A0
|
|
|
|
thumb_func_start MOD16_021D91E8
|
|
MOD16_021D91E8: ; 0x021D91E8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r4, r1, #0
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x10]
|
|
bl FUN_02009E04
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, #0xc]
|
|
bl FUN_02009490
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #0x10]
|
|
bl FUN_02009490
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r5, #0x14]
|
|
bl FUN_02009490
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D91E8
|
|
|
|
thumb_func_start MOD16_021D921C
|
|
MOD16_021D921C: ; 0x021D921C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x70
|
|
add r4, r1, #0
|
|
ldr r1, _021D92D8 ; =0x00000BB8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r1, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r3, #5
|
|
str r0, [sp, #0x10]
|
|
lsl r3, r3, #6
|
|
ldr r2, [r5, r3]
|
|
str r2, [sp, #0x14]
|
|
add r2, r3, #4
|
|
ldr r2, [r5, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r3, #0
|
|
add r2, #8
|
|
ldr r2, [r5, r2]
|
|
add r3, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r2, [r5, r3]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x4c
|
|
add r2, r1, #0
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
add r0, sp, #0x2c
|
|
str r1, [sp, #0x40]
|
|
str r4, [sp, #0x48]
|
|
str r1, [sp, #0x34]
|
|
str r1, [sp, #0x38]
|
|
bl FUN_0201FF84
|
|
mov r1, #0x6d
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_02020310
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
mov r1, #0x6e
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
mov r1, #0x6f
|
|
lsl r1, r1, #2
|
|
mov r2, #0
|
|
add r0, r1, #0
|
|
str r2, [r5, r1]
|
|
add r0, #0x20
|
|
str r2, [r5, r0]
|
|
add r1, #0x24
|
|
str r2, [r5, r1]
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D92D8: .word 0x00000BB8
|
|
thumb_func_end MOD16_021D921C
|
|
|
|
thumb_func_start MOD16_021D92DC
|
|
MOD16_021D92DC: ; 0x021D92DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FFC8
|
|
mov r0, #0x6d
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FFC8
|
|
mov r0, #0x6e
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021D9316
|
|
bl MOD16_021DB338
|
|
mov r0, #0x6f
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021D9316:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D92DC
|
|
|
|
thumb_func_start MOD16_021D9318
|
|
MOD16_021D9318: ; 0x021D9318
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
add r4, r1, #0
|
|
ldr r1, _021D93A8 ; =0x00000BB8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r6, r3, #0
|
|
str r1, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
ldr r3, [sp, #0x80]
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
ldr r3, [r2]
|
|
str r3, [sp, #0x14]
|
|
ldr r3, [r2, #4]
|
|
str r3, [sp, #0x18]
|
|
ldr r3, [r2, #8]
|
|
str r3, [sp, #0x1c]
|
|
ldr r2, [r2, #0xc]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x4c
|
|
add r2, r1, #0
|
|
bl FUN_02008AA4
|
|
mov r1, #0
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
str r4, [sp, #0x2c]
|
|
str r1, [sp, #0x40]
|
|
str r6, [sp, #0x48]
|
|
str r1, [sp, #0x34]
|
|
str r1, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_02020310
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #4]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
str r0, [r5, #0x28]
|
|
str r0, [r5, #0x2c]
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021D93A8: .word 0x00000BB8
|
|
thumb_func_end MOD16_021D9318
|
|
|
|
thumb_func_start MOD16_021D93AC
|
|
MOD16_021D93AC: ; 0x021D93AC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0201FFC8
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
ldr r0, [r4, #4]
|
|
bl FUN_0201FFC8
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021D93D2
|
|
bl MOD16_021DB338
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
_021D93D2:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D93AC
|
|
|
|
thumb_func_start MOD16_021D93D4
|
|
MOD16_021D93D4: ; 0x021D93D4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
beq _021D93E4
|
|
bl FUN_020200A0
|
|
_021D93E4:
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021D93F0
|
|
add r1, r4, #0
|
|
bl FUN_020200A0
|
|
_021D93F0:
|
|
ldr r0, [r5, #8]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021D93FE
|
|
add r1, r4, #0
|
|
bl FUN_020119D0
|
|
_021D93FE:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D93D4
|
|
|
|
thumb_func_start MOD16_021D9400
|
|
MOD16_021D9400: ; 0x021D9400
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
mov r1, #0x79
|
|
add r5, r0, #0
|
|
lsl r1, r1, #2
|
|
add r4, r5, r1
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021D94A0 ; =0x00002EE0
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x77
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r4, #0x10]
|
|
bl FUN_02009B04
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_02009474
|
|
ldr r0, _021D94A0 ; =0x00002EE0
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r6, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x15
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r4, #0x14]
|
|
bl FUN_02009D68
|
|
ldr r0, [r4, #0x14]
|
|
bl FUN_02009474
|
|
ldr r0, _021D94A0 ; =0x00002EE0
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x78
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r4, #0x18]
|
|
ldr r0, _021D94A0 ; =0x00002EE0
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x76
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r4, #0x1c]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D94A0: .word 0x00002EE0
|
|
thumb_func_end MOD16_021D9400
|
|
|
|
thumb_func_start MOD16_021D94A4
|
|
MOD16_021D94A4: ; 0x021D94A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r4, r5, r0
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r4, #0x14]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x10]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x14]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x1c]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D94A4
|
|
|
|
thumb_func_start MOD16_021D94EC
|
|
MOD16_021D94EC: ; 0x021D94EC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
add r5, r1, #0
|
|
ldr r1, _021D9598 ; =0x00002EE0
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mov r2, #0x79
|
|
lsl r2, r2, #2
|
|
str r1, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
sub r2, #0xa4
|
|
ldr r2, [r6, r2]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x14]
|
|
mov r2, #0x79
|
|
lsl r2, r2, #2
|
|
sub r2, #0xa0
|
|
ldr r2, [r6, r2]
|
|
str r2, [sp, #0x18]
|
|
mov r2, #0x79
|
|
lsl r2, r2, #2
|
|
sub r2, #0x9c
|
|
ldr r2, [r6, r2]
|
|
str r2, [sp, #0x1c]
|
|
mov r2, #0x79
|
|
lsl r2, r2, #2
|
|
sub r2, #0x98
|
|
ldr r2, [r6, r2]
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x4c
|
|
add r2, r1, #0
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r4, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x49
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x19
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
str r5, [sp, #0x48]
|
|
str r4, [sp, #0x40]
|
|
add r5, r6, r0
|
|
add r7, sp, #0x2c
|
|
_021D9566:
|
|
add r0, r7, #0
|
|
bl FUN_0201FF84
|
|
add r1, r4, #0
|
|
stmia r5!, {r0}
|
|
bl FUN_02020130
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021D9566
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r0, r6, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B14
|
|
add r0, r6, #0
|
|
bl MOD16_021D95C4
|
|
add r0, r6, #0
|
|
bl MOD16_021D9760
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D9598: .word 0x00002EE0
|
|
thumb_func_end MOD16_021D94EC
|
|
|
|
thumb_func_start MOD16_021D959C
|
|
MOD16_021D959C: ; 0x021D959C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl MOD16_021D9780
|
|
add r0, r5, #0
|
|
bl MOD16_021D95E4
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
mov r4, #0
|
|
add r5, r5, r0
|
|
_021D95B2:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021D95B2
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D959C
|
|
|
|
thumb_func_start MOD16_021D95C4
|
|
MOD16_021D95C4: ; 0x021D95C4
|
|
push {r4, lr}
|
|
mov r1, #0x79
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldr r0, _021D95E0 ; =MOD16_021D95F4
|
|
add r1, r4, r1
|
|
mov r2, #1
|
|
bl FUN_0200CA44
|
|
mov r1, #0x9d
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021D95E0: .word MOD16_021D95F4
|
|
thumb_func_end MOD16_021D95C4
|
|
|
|
thumb_func_start MOD16_021D95E4
|
|
MOD16_021D95E4: ; 0x021D95E4
|
|
mov r1, #0x9d
|
|
lsl r1, r1, #2
|
|
ldr r3, _021D95F0 ; =FUN_0200CAB4
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
nop
|
|
_021D95F0: .word FUN_0200CAB4
|
|
thumb_func_end MOD16_021D95E4
|
|
|
|
thumb_func_start MOD16_021D95F4
|
|
MOD16_021D95F4: ; 0x021D95F4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #0
|
|
beq _021D9610
|
|
ldr r0, [r4, #0x2c]
|
|
str r0, [sp]
|
|
ldr r1, [r4, #0x20]
|
|
ldr r2, [r4, #0x24]
|
|
ldr r3, [r4, #0x28]
|
|
add r0, r4, #0
|
|
bl MOD16_021D9668
|
|
pop {r3, r4, r5, pc}
|
|
_021D9610:
|
|
ldr r0, [r4, #0x34]
|
|
add r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1a
|
|
sub r1, r1, r2
|
|
mov r0, #0x1a
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
str r0, [r4, #0x34]
|
|
cmp r0, #0x20
|
|
blt _021D962C
|
|
add r1, r0, #1
|
|
mov r0, #0x40
|
|
sub r0, r0, r1
|
|
_021D962C:
|
|
lsl r2, r0, #0xc
|
|
asr r1, r2, #0x1f
|
|
lsr r0, r2, #0x12
|
|
lsl r3, r1, #0xe
|
|
mov r1, #2
|
|
orr r3, r0
|
|
lsl r2, r2, #0xe
|
|
mov r0, #0
|
|
lsl r1, r1, #0xa
|
|
add r5, r2, r1
|
|
adc r3, r0
|
|
lsl r2, r3, #0x14
|
|
lsr r0, r5, #0xc
|
|
orr r0, r2
|
|
lsl r1, r1, #6
|
|
bl FX_Div
|
|
asr r3, r0, #0xc
|
|
ldr r0, [r4, #0x2c]
|
|
add r0, r0, r3
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x20]
|
|
ldr r2, [r4, #0x24]
|
|
ldr r4, [r4, #0x28]
|
|
add r3, r4, r3
|
|
bl MOD16_021D9668
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D95F4
|
|
|
|
thumb_func_start MOD16_021D9668
|
|
MOD16_021D9668: ; 0x021D9668
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
ldr r6, [sp, #0x40]
|
|
add r5, r0, #0
|
|
str r1, [sp, #0xc]
|
|
add r7, r2, #0
|
|
str r3, [sp, #0x10]
|
|
mov r4, #0
|
|
_021D9678:
|
|
ldr r0, [sp, #0x10]
|
|
str r7, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r3, [sp, #0xc]
|
|
str r6, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, sp, #0x18
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DB5A8
|
|
ldr r0, [sp, #0x18]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0x1c
|
|
bl FUN_02020044
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021D9678
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D9668
|
|
|
|
thumb_func_start MOD16_021D96B4
|
|
MOD16_021D96B4: ; 0x021D96B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r1, #0
|
|
mov r1, #0x87
|
|
lsl r1, r1, #2
|
|
add r4, r0, r1
|
|
ldr r1, [r4, #0x44]
|
|
add r5, r2, #0
|
|
add r7, r3, #0
|
|
cmp r1, r6
|
|
bne _021D96DE
|
|
ldr r1, [r4, #0x48]
|
|
cmp r1, r5
|
|
bne _021D96DE
|
|
ldr r1, [r4, #0x4c]
|
|
cmp r1, r7
|
|
bne _021D96DE
|
|
ldr r2, [r4, #0x50]
|
|
ldr r1, [sp, #0x20]
|
|
cmp r2, r1
|
|
beq _021D971E
|
|
_021D96DE:
|
|
mov r1, #0x79
|
|
lsl r1, r1, #2
|
|
add r3, r0, r1
|
|
str r3, [r4]
|
|
str r5, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r1, [r3, #0x20]
|
|
ldr r3, [r3, #0x24]
|
|
add r0, r4, #4
|
|
add r2, r6, #0
|
|
bl MOD16_021D8BD8
|
|
ldr r3, [r4]
|
|
ldr r0, [sp, #0x20]
|
|
add r2, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
ldr r1, [r3, #0x28]
|
|
ldr r3, [r3, #0x2c]
|
|
add r0, #0x24
|
|
bl MOD16_021D8BD8
|
|
str r6, [r4, #0x44]
|
|
str r5, [r4, #0x48]
|
|
ldr r0, [sp, #0x20]
|
|
str r7, [r4, #0x4c]
|
|
str r0, [r4, #0x50]
|
|
mov r0, #1
|
|
str r0, [r4, #0x54]
|
|
_021D971E:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D96B4
|
|
|
|
thumb_func_start MOD16_021D9724
|
|
MOD16_021D9724: ; 0x021D9724
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r0, [r5, #0x54]
|
|
cmp r0, #0
|
|
beq _021D975E
|
|
add r0, r5, #4
|
|
bl MOD16_021D8BF4
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x24
|
|
bl MOD16_021D8BF4
|
|
ldr r1, [r5, #4]
|
|
ldr r0, [r5]
|
|
cmp r4, #1
|
|
str r1, [r0, #0x20]
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r5]
|
|
str r1, [r0, #0x24]
|
|
ldr r1, [r5, #0x24]
|
|
ldr r0, [r5]
|
|
str r1, [r0, #0x28]
|
|
ldr r1, [r5, #0x28]
|
|
ldr r0, [r5]
|
|
str r1, [r0, #0x2c]
|
|
bne _021D975E
|
|
mov r0, #0
|
|
str r0, [r5, #0x54]
|
|
_021D975E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D9724
|
|
|
|
thumb_func_start MOD16_021D9760
|
|
MOD16_021D9760: ; 0x021D9760
|
|
push {r4, lr}
|
|
mov r1, #0x87
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldr r0, _021D977C ; =MOD16_021D9724
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
bl FUN_0200CA44
|
|
mov r1, #0x9e
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021D977C: .word MOD16_021D9724
|
|
thumb_func_end MOD16_021D9760
|
|
|
|
thumb_func_start MOD16_021D9780
|
|
MOD16_021D9780: ; 0x021D9780
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x9e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200CAB4
|
|
mov r0, #0x9e
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021D9780
|
|
|
|
thumb_func_start MOD16_021D9798
|
|
MOD16_021D9798: ; 0x021D9798
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r2, #0
|
|
add r4, r1, #0
|
|
ldr r2, _021D988C ; =0x00001770
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
bl memset
|
|
ldr r0, [r4]
|
|
str r0, [r5]
|
|
ldr r1, [r4, #8]
|
|
ldr r0, _021D9890 ; =0x00001744
|
|
str r1, [r5, r0]
|
|
ldr r0, [r5]
|
|
bl FUN_02024CA4
|
|
cmp r0, #0
|
|
beq _021D97C2
|
|
mov r1, #1
|
|
b _021D97C4
|
|
_021D97C2:
|
|
mov r1, #0
|
|
_021D97C4:
|
|
ldr r0, _021D9894 ; =0x00001734
|
|
str r1, [r5, r0]
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #2
|
|
bne _021D97DC
|
|
ldr r0, _021D9894 ; =0x00001734
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _021D97DA
|
|
mov r0, #1
|
|
b _021D97DC
|
|
_021D97DA:
|
|
mov r0, #0
|
|
_021D97DC:
|
|
cmp r0, #1
|
|
ldr r0, _021D9898 ; =0x00001730
|
|
bne _021D97EA
|
|
mov r1, #1
|
|
str r1, [r5, r0]
|
|
mov r1, #0
|
|
b _021D97EE
|
|
_021D97EA:
|
|
mov r1, #0
|
|
str r1, [r5, r0]
|
|
_021D97EE:
|
|
str r1, [sp]
|
|
ldr r0, _021D9898 ; =0x00001730
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r3, r1, #0
|
|
str r6, [sp, #0xc]
|
|
bl MOD16_021D9CB0
|
|
cmp r0, #0
|
|
bne _021D980C
|
|
bl ErrorHandling
|
|
_021D980C:
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
bl MOD16_021D9DC0
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
bl MOD16_021D9A60
|
|
ldr r1, [r4, #0x20]
|
|
add r0, r5, #0
|
|
bl MOD16_021D9A78
|
|
ldr r0, [r4, #4]
|
|
bl FUN_02023A68
|
|
ldr r1, _021D989C ; =0x0000174C
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4, #4]
|
|
bl FUN_020239CC
|
|
ldr r1, _021D98A0 ; =0x00001750
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4, #4]
|
|
add r1, r6, #0
|
|
bl FUN_020239A0
|
|
ldr r1, _021D98A4 ; =0x00001754
|
|
str r0, [r5, r1]
|
|
add r0, r6, #0
|
|
bl FUN_02087A6C
|
|
ldr r1, _021D98A8 ; =0x00001748
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
add r0, #8
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
ldr r0, [r5, r1]
|
|
bne _021D9864
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl FUN_02087A98
|
|
b _021D986C
|
|
_021D9864:
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
bl FUN_02087A98
|
|
_021D986C:
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, _021D98AC ; =0x00001760
|
|
str r0, [r5, r1]
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r1, #4
|
|
str r2, [r5, r0]
|
|
add r0, r1, #0
|
|
ldr r2, [r4, #0x14]
|
|
add r0, #8
|
|
str r2, [r5, r0]
|
|
ldr r0, [r4, #0x18]
|
|
add r1, #0xc
|
|
str r0, [r5, r1]
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021D988C: .word 0x00001770
|
|
_021D9890: .word 0x00001744
|
|
_021D9894: .word 0x00001734
|
|
_021D9898: .word 0x00001730
|
|
_021D989C: .word 0x0000174C
|
|
_021D98A0: .word 0x00001750
|
|
_021D98A4: .word 0x00001754
|
|
_021D98A8: .word 0x00001748
|
|
_021D98AC: .word 0x00001760
|
|
thumb_func_end MOD16_021D9798
|
|
|
|
thumb_func_start MOD16_021D98B0
|
|
MOD16_021D98B0: ; 0x021D98B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021D98D4 ; =0x00001754
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _021D98D8 ; =0x00001748
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02087B0C
|
|
ldr r0, _021D98D8 ; =0x00001748
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02087A84
|
|
ldr r0, _021D98D8 ; =0x00001748
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D98D4: .word 0x00001754
|
|
_021D98D8: .word 0x00001748
|
|
thumb_func_end MOD16_021D98B0
|
|
|
|
thumb_func_start MOD16_021D98DC
|
|
MOD16_021D98DC: ; 0x021D98DC
|
|
ldr r3, _021D98E8 ; =FUN_02024674
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r0]
|
|
lsr r1, r1, #0x10
|
|
bx r3
|
|
nop
|
|
_021D98E8: .word FUN_02024674
|
|
thumb_func_end MOD16_021D98DC
|
|
|
|
thumb_func_start MOD16_021D98EC
|
|
MOD16_021D98EC: ; 0x021D98EC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0x1c
|
|
blt _021D98FA
|
|
bl ErrorHandling
|
|
_021D98FA:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_020246DC
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D98EC
|
|
|
|
thumb_func_start MOD16_021D9904
|
|
MOD16_021D9904: ; 0x021D9904
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #2
|
|
blt _021D9912
|
|
bl ErrorHandling
|
|
_021D9912:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_02024748
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D9904
|
|
|
|
thumb_func_start MOD16_021D991C
|
|
MOD16_021D991C: ; 0x021D991C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #2
|
|
blt _021D992A
|
|
bl ErrorHandling
|
|
_021D992A:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_020247C8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D991C
|
|
|
|
thumb_func_start MOD16_021D9934
|
|
MOD16_021D9934: ; 0x021D9934
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #3
|
|
blt _021D9942
|
|
bl ErrorHandling
|
|
_021D9942:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_0202484C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D9934
|
|
|
|
thumb_func_start MOD16_021D994C
|
|
MOD16_021D994C: ; 0x021D994C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #3
|
|
blt _021D995A
|
|
bl ErrorHandling
|
|
_021D995A:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_020248BC
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021D994C
|
|
|
|
thumb_func_start MOD16_021D9964
|
|
MOD16_021D9964: ; 0x021D9964
|
|
push {r3, lr}
|
|
ldr r3, _021D99D8 ; =0x0000019D
|
|
cmp r1, r3
|
|
bhi _021D998A
|
|
sub r2, r3, #1
|
|
cmp r1, r2
|
|
blo _021D997A
|
|
beq _021D99BA
|
|
cmp r1, r3
|
|
beq _021D99C2
|
|
b _021D99D2
|
|
_021D997A:
|
|
cmp r1, #0xc9
|
|
bhi _021D9982
|
|
beq _021D99A2
|
|
b _021D99D2
|
|
_021D9982:
|
|
sub r3, #0x1b
|
|
cmp r1, r3
|
|
beq _021D99CA
|
|
b _021D99D2
|
|
_021D998A:
|
|
add r2, r3, #0
|
|
add r2, #9
|
|
cmp r1, r2
|
|
bhi _021D999A
|
|
add r3, #9
|
|
cmp r1, r3
|
|
beq _021D99AA
|
|
b _021D99D2
|
|
_021D999A:
|
|
add r3, #0xa
|
|
cmp r1, r3
|
|
beq _021D99B2
|
|
b _021D99D2
|
|
_021D99A2:
|
|
mov r1, #0
|
|
bl MOD16_021D98EC
|
|
pop {r3, pc}
|
|
_021D99AA:
|
|
mov r1, #0
|
|
bl MOD16_021D9904
|
|
pop {r3, pc}
|
|
_021D99B2:
|
|
mov r1, #0
|
|
bl MOD16_021D991C
|
|
pop {r3, pc}
|
|
_021D99BA:
|
|
mov r1, #0
|
|
bl MOD16_021D9934
|
|
pop {r3, pc}
|
|
_021D99C2:
|
|
mov r1, #0
|
|
bl MOD16_021D994C
|
|
pop {r3, pc}
|
|
_021D99CA:
|
|
mov r1, #0
|
|
bl MOD16_021D9A3C
|
|
pop {r3, pc}
|
|
_021D99D2:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_021D99D8: .word 0x0000019D
|
|
thumb_func_end MOD16_021D9964
|
|
|
|
thumb_func_start MOD16_021D99DC
|
|
MOD16_021D99DC: ; 0x021D99DC
|
|
push {r3, lr}
|
|
mov r2, #1
|
|
bl MOD16_021D98DC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021D99F0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021D99F0:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021D99DC
|
|
|
|
thumb_func_start MOD16_021D99F4
|
|
MOD16_021D99F4: ; 0x021D99F4
|
|
ldr r3, _021D99FC ; =FUN_0202471C
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D99FC: .word FUN_0202471C
|
|
thumb_func_end MOD16_021D99F4
|
|
|
|
thumb_func_start MOD16_021D9A00
|
|
MOD16_021D9A00: ; 0x021D9A00
|
|
ldr r3, _021D9A08 ; =FUN_020247A4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A08: .word FUN_020247A4
|
|
thumb_func_end MOD16_021D9A00
|
|
|
|
thumb_func_start MOD16_021D9A0C
|
|
MOD16_021D9A0C: ; 0x021D9A0C
|
|
ldr r3, _021D9A14 ; =FUN_02024828
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A14: .word FUN_02024828
|
|
thumb_func_end MOD16_021D9A0C
|
|
|
|
thumb_func_start MOD16_021D9A18
|
|
MOD16_021D9A18: ; 0x021D9A18
|
|
ldr r3, _021D9A20 ; =FUN_0202489C
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A20: .word FUN_0202489C
|
|
thumb_func_end MOD16_021D9A18
|
|
|
|
thumb_func_start MOD16_021D9A24
|
|
MOD16_021D9A24: ; 0x021D9A24
|
|
ldr r3, _021D9A2C ; =FUN_0202490C
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A2C: .word FUN_0202490C
|
|
thumb_func_end MOD16_021D9A24
|
|
|
|
thumb_func_start MOD16_021D9A30
|
|
MOD16_021D9A30: ; 0x021D9A30
|
|
ldr r3, _021D9A38 ; =FUN_02024648
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bx r3
|
|
.align 2, 0
|
|
_021D9A38: .word FUN_02024648
|
|
thumb_func_end MOD16_021D9A30
|
|
|
|
thumb_func_start MOD16_021D9A3C
|
|
MOD16_021D9A3C: ; 0x021D9A3C
|
|
ldr r3, _021D9A44 ; =FUN_02024930
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A44: .word FUN_02024930
|
|
thumb_func_end MOD16_021D9A3C
|
|
|
|
thumb_func_start MOD16_021D9A48
|
|
MOD16_021D9A48: ; 0x021D9A48
|
|
ldr r3, _021D9A50 ; =FUN_02024970
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A50: .word FUN_02024970
|
|
thumb_func_end MOD16_021D9A48
|
|
|
|
thumb_func_start MOD16_021D9A54
|
|
MOD16_021D9A54: ; 0x021D9A54
|
|
ldr r3, _021D9A5C ; =FUN_02024CA4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9A5C: .word FUN_02024CA4
|
|
thumb_func_end MOD16_021D9A54
|
|
|
|
thumb_func_start MOD16_021D9A60
|
|
MOD16_021D9A60: ; 0x021D9A60
|
|
ldr r2, _021D9A68 ; =0x0000175C
|
|
strh r1, [r0, r2]
|
|
bx lr
|
|
nop
|
|
_021D9A68: .word 0x0000175C
|
|
thumb_func_end MOD16_021D9A60
|
|
|
|
thumb_func_start MOD16_021D9A6C
|
|
MOD16_021D9A6C: ; 0x021D9A6C
|
|
ldr r1, _021D9A74 ; =0x0000175C
|
|
ldrh r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9A74: .word 0x0000175C
|
|
thumb_func_end MOD16_021D9A6C
|
|
|
|
thumb_func_start MOD16_021D9A78
|
|
MOD16_021D9A78: ; 0x021D9A78
|
|
ldr r2, _021D9A80 ; =0x0000175E
|
|
strh r1, [r0, r2]
|
|
bx lr
|
|
nop
|
|
_021D9A80: .word 0x0000175E
|
|
thumb_func_end MOD16_021D9A78
|
|
|
|
thumb_func_start MOD16_021D9A84
|
|
MOD16_021D9A84: ; 0x021D9A84
|
|
ldr r1, _021D9A8C ; =0x0000175E
|
|
ldrh r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9A8C: .word 0x0000175E
|
|
thumb_func_end MOD16_021D9A84
|
|
|
|
thumb_func_start MOD16_021D9A90
|
|
MOD16_021D9A90: ; 0x021D9A90
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
ldr r7, [sp, #0x4c]
|
|
str r1, [sp, #0xc]
|
|
add r5, r0, #0
|
|
ldr r1, _021D9CA8 ; =0x000003DA
|
|
add r0, r7, #0
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
bl AllocFromHeapAtEnd
|
|
add r6, r0, #0
|
|
bne _021D9AAE
|
|
bl ErrorHandling
|
|
_021D9AAE:
|
|
ldr r2, _021D9CA8 ; =0x000003DA
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl memset
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
ldr r1, _021D9CA8 ; =0x000003DA
|
|
add r0, r7, #0
|
|
bl AllocFromHeapAtEnd
|
|
add r4, r0, #0
|
|
bne _021D9ACC
|
|
bl ErrorHandling
|
|
_021D9ACC:
|
|
ldr r2, _021D9CA8 ; =0x000003DA
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl memset
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x48]
|
|
str r1, [sp, #0x20]
|
|
cmp r0, #0
|
|
add r2, sp, #0x1c
|
|
bne _021D9AFE
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl MOD16_021DA184
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r3, [sp, #0x18]
|
|
str r0, [sp]
|
|
ldr r2, [r5]
|
|
add r0, r6, #0
|
|
add r1, sp, #0x24
|
|
bl MOD16_021D9FC4
|
|
b _021D9B16
|
|
_021D9AFE:
|
|
add r0, r7, #0
|
|
bl MOD16_021DA184
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r3, [sp, #0x18]
|
|
str r0, [sp]
|
|
ldr r2, [r5]
|
|
add r0, r6, #0
|
|
add r1, sp, #0x24
|
|
bl MOD16_021D9FC4
|
|
_021D9B16:
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, sp, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
add r3, r6, #0
|
|
bl MOD16_021DA1B4
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r2, [sp, #0x24]
|
|
mov r1, #0
|
|
lsl r2, r2, #1
|
|
bl memset
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, sp, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r3, r6, #0
|
|
bl MOD16_021DA264
|
|
ldr r2, [sp, #0x20]
|
|
cmp r2, #0
|
|
bne _021D9B6A
|
|
mov r7, #0
|
|
b _021D9C82
|
|
_021D9B6A:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r2, [sp, #0x24]
|
|
mov r1, #0
|
|
lsl r2, r2, #1
|
|
bl memset
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, sp, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x14]
|
|
add r3, r6, #0
|
|
bl MOD16_021DA348
|
|
ldr r2, [sp, #0x20]
|
|
cmp r2, #0
|
|
bne _021D9BA6
|
|
mov r7, #0
|
|
b _021D9C82
|
|
_021D9BA6:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r2, [sp, #0x24]
|
|
mov r1, #0
|
|
lsl r2, r2, #1
|
|
bl memset
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, sp, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x40]
|
|
add r3, r6, #0
|
|
bl MOD16_021DA348
|
|
ldr r2, [sp, #0x20]
|
|
cmp r2, #0
|
|
bne _021D9BE2
|
|
mov r7, #0
|
|
b _021D9C82
|
|
_021D9BE2:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r2, [sp, #0x24]
|
|
mov r1, #0
|
|
lsl r2, r2, #1
|
|
bl memset
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, sp, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x44]
|
|
add r3, r6, #0
|
|
bl MOD16_021DA49C
|
|
ldr r2, [sp, #0x20]
|
|
cmp r2, #0
|
|
bne _021D9C1E
|
|
mov r7, #0
|
|
b _021D9C82
|
|
_021D9C1E:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r2, [sp, #0x24]
|
|
mov r1, #0
|
|
lsl r2, r2, #1
|
|
bl memset
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [r5]
|
|
ldr r3, [sp, #0x24]
|
|
add r0, r5, #4
|
|
add r2, r6, #0
|
|
bl MOD16_021DA080
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
bne _021D9C64
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _021D9C64
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _021D9C64
|
|
ldr r0, [sp, #0x40]
|
|
cmp r0, #0
|
|
bne _021D9C64
|
|
ldr r0, [sp, #0x44]
|
|
cmp r0, #0
|
|
beq _021D9C68
|
|
_021D9C64:
|
|
mov r0, #1
|
|
str r0, [sp, #0x50]
|
|
_021D9C68:
|
|
ldr r0, [sp, #0x50]
|
|
cmp r0, #0
|
|
bne _021D9C7A
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r5, #4
|
|
bl MOD16_021DA0D8
|
|
b _021D9C80
|
|
_021D9C7A:
|
|
add r0, r5, #4
|
|
bl MOD16_021DA148
|
|
_021D9C80:
|
|
mov r7, #1
|
|
_021D9C82:
|
|
ldr r2, _021D9CAC ; =0x00001738
|
|
add r0, r5, #4
|
|
add r1, r5, r2
|
|
add r2, r2, #4
|
|
add r2, r5, r2
|
|
bl MOD16_021DA5C4
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [sp, #0x18]
|
|
bl FreeToHeap
|
|
add r0, r7, #0
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D9CA8: .word 0x000003DA
|
|
_021D9CAC: .word 0x00001738
|
|
thumb_func_end MOD16_021D9A90
|
|
|
|
thumb_func_start MOD16_021D9CB0
|
|
MOD16_021D9CB0: ; 0x021D9CB0
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x20]
|
|
str r4, [sp]
|
|
ldr r4, [sp, #0x24]
|
|
str r4, [sp, #4]
|
|
ldr r4, [sp, #0x28]
|
|
str r4, [sp, #8]
|
|
ldr r4, [sp, #0x2c]
|
|
str r4, [sp, #0xc]
|
|
mov r4, #0
|
|
str r4, [sp, #0x10]
|
|
bl MOD16_021D9A90
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021D9CB0
|
|
|
|
thumb_func_start MOD16_021D9CD0
|
|
MOD16_021D9CD0: ; 0x021D9CD0
|
|
cmp r1, #0
|
|
bne _021D9CD8
|
|
mov r0, #1
|
|
bx lr
|
|
_021D9CD8:
|
|
ldr r1, _021D9CE8 ; =0x00001734
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _021D9CE4
|
|
mov r0, #1
|
|
bx lr
|
|
_021D9CE4:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021D9CE8: .word 0x00001734
|
|
thumb_func_end MOD16_021D9CD0
|
|
|
|
thumb_func_start MOD16_021D9CEC
|
|
MOD16_021D9CEC: ; 0x021D9CEC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021D9CD0
|
|
cmp r0, #0
|
|
beq _021D9CFE
|
|
ldr r1, _021D9D00 ; =0x00001730
|
|
str r4, [r5, r1]
|
|
_021D9CFE:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D9D00: .word 0x00001730
|
|
thumb_func_end MOD16_021D9CEC
|
|
|
|
thumb_func_start MOD16_021D9D04
|
|
MOD16_021D9D04: ; 0x021D9D04
|
|
ldr r1, _021D9D0C ; =0x00001730
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9D0C: .word 0x00001730
|
|
thumb_func_end MOD16_021D9D04
|
|
|
|
thumb_func_start MOD16_021D9D10
|
|
MOD16_021D9D10: ; 0x021D9D10
|
|
cmp r1, #0
|
|
blt _021D9D22
|
|
mov r2, #0xf7
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0, r2]
|
|
cmp r1, r0
|
|
bge _021D9D22
|
|
mov r0, #1
|
|
bx lr
|
|
_021D9D22:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D9D10
|
|
|
|
thumb_func_start MOD16_021D9D28
|
|
MOD16_021D9D28: ; 0x021D9D28
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021D9D10
|
|
cmp r0, #0
|
|
beq _021D9D3E
|
|
ldr r0, _021D9D44 ; =0x00000F6C
|
|
str r4, [r5, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D9D3E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D9D44: .word 0x00000F6C
|
|
thumb_func_end MOD16_021D9D28
|
|
|
|
thumb_func_start MOD16_021D9D48
|
|
MOD16_021D9D48: ; 0x021D9D48
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _021D9D84 ; =0x00000F6C
|
|
add r5, r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r1, r1, r4
|
|
bl MOD16_021D9D10
|
|
cmp r0, #0
|
|
beq _021D9D68
|
|
ldr r0, _021D9D84 ; =0x00000F6C
|
|
ldr r1, [r5, r0]
|
|
add r1, r1, r4
|
|
str r1, [r5, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D9D68:
|
|
cmp r4, #0
|
|
blt _021D9D78
|
|
mov r0, #0xf7
|
|
lsl r0, r0, #4
|
|
ldr r1, [r5, r0]
|
|
sub r0, r0, #4
|
|
sub r1, r1, #1
|
|
b _021D9D7C
|
|
_021D9D78:
|
|
ldr r0, _021D9D84 ; =0x00000F6C
|
|
mov r1, #0
|
|
_021D9D7C:
|
|
str r1, [r5, r0]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D9D84: .word 0x00000F6C
|
|
thumb_func_end MOD16_021D9D48
|
|
|
|
thumb_func_start MOD16_021D9D88
|
|
MOD16_021D9D88: ; 0x021D9D88
|
|
ldr r1, _021D9D90 ; =0x00000F6C
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9D90: .word 0x00000F6C
|
|
thumb_func_end MOD16_021D9D88
|
|
|
|
thumb_func_start MOD16_021D9D94
|
|
MOD16_021D9D94: ; 0x021D9D94
|
|
mov r1, #0xf7
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end MOD16_021D9D94
|
|
|
|
thumb_func_start MOD16_021D9D9C
|
|
MOD16_021D9D9C: ; 0x021D9D9C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021D9D94
|
|
mov r2, #0
|
|
cmp r0, #0
|
|
ble _021D9DBA
|
|
_021D9DAC:
|
|
ldr r1, [r5, #4]
|
|
cmp r1, r4
|
|
beq _021D9DBA
|
|
add r2, r2, #1
|
|
add r5, #8
|
|
cmp r2, r0
|
|
blt _021D9DAC
|
|
_021D9DBA:
|
|
add r0, r2, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D9D9C
|
|
|
|
thumb_func_start MOD16_021D9DC0
|
|
MOD16_021D9DC0: ; 0x021D9DC0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021D9D94
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021D9D9C
|
|
add r1, r0, #0
|
|
cmp r4, r1
|
|
bls _021D9DE2
|
|
add r0, r5, #0
|
|
bl MOD16_021D9D28
|
|
pop {r4, r5, r6, pc}
|
|
_021D9DE2:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D9DC0
|
|
|
|
thumb_func_start MOD16_021D9DE8
|
|
MOD16_021D9DE8: ; 0x021D9DE8
|
|
ldr r1, _021D9DF4 ; =0x00000F6C
|
|
ldr r1, [r0, r1]
|
|
lsl r1, r1, #3
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_021D9DF4: .word 0x00000F6C
|
|
thumb_func_end MOD16_021D9DE8
|
|
|
|
thumb_func_start MOD16_021D9DF8
|
|
MOD16_021D9DF8: ; 0x021D9DF8
|
|
ldr r1, _021D9E04 ; =0x00000F6C
|
|
ldr r1, [r0, r1]
|
|
lsl r1, r1, #3
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021D9E04: .word 0x00000F6C
|
|
thumb_func_end MOD16_021D9DF8
|
|
|
|
thumb_func_start MOD16_021D9E08
|
|
MOD16_021D9E08: ; 0x021D9E08
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021D9D10
|
|
cmp r0, #0
|
|
beq _021D9E1E
|
|
add r1, r5, #4
|
|
lsl r0, r4, #3
|
|
add r0, r1, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021D9E1E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D9E08
|
|
|
|
thumb_func_start MOD16_021D9E24
|
|
MOD16_021D9E24: ; 0x021D9E24
|
|
ldr r2, _021D9E38 ; =0x0000172C
|
|
ldr r0, [r0, r2]
|
|
cmp r0, r1
|
|
ble _021D9E34
|
|
cmp r1, #0
|
|
blt _021D9E34
|
|
mov r0, #1
|
|
bx lr
|
|
_021D9E34:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021D9E38: .word 0x0000172C
|
|
thumb_func_end MOD16_021D9E24
|
|
|
|
thumb_func_start MOD16_021D9E3C
|
|
MOD16_021D9E3C: ; 0x021D9E3C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021D9E24
|
|
cmp r0, #0
|
|
beq _021D9E62
|
|
ldr r1, _021D9E68 ; =0x00001728
|
|
add r0, r5, #0
|
|
str r4, [r5, r1]
|
|
ldr r1, [r5, r1]
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _021D9E6C ; =0x00000F74
|
|
ldr r1, [r2, r1]
|
|
bl MOD16_021D9D28
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D9E62:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D9E68: .word 0x00001728
|
|
_021D9E6C: .word 0x00000F74
|
|
thumb_func_end MOD16_021D9E3C
|
|
|
|
thumb_func_start MOD16_021D9E70
|
|
MOD16_021D9E70: ; 0x021D9E70
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021D9EA8
|
|
cmp r0, #0
|
|
beq _021D9E9A
|
|
ldr r1, _021D9EA0 ; =0x00001728
|
|
ldr r0, [r5, r1]
|
|
add r0, r0, r4
|
|
str r0, [r5, r1]
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _021D9EA4 ; =0x00000F74
|
|
ldr r1, [r2, r1]
|
|
bl MOD16_021D9D28
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D9E9A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D9EA0: .word 0x00001728
|
|
_021D9EA4: .word 0x00000F74
|
|
thumb_func_end MOD16_021D9E70
|
|
|
|
thumb_func_start MOD16_021D9EA8
|
|
MOD16_021D9EA8: ; 0x021D9EA8
|
|
push {r3, lr}
|
|
ldr r2, _021D9EC0 ; =0x00001728
|
|
ldr r2, [r0, r2]
|
|
add r1, r2, r1
|
|
bl MOD16_021D9E24
|
|
cmp r0, #0
|
|
beq _021D9EBC
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021D9EBC:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021D9EC0: .word 0x00001728
|
|
thumb_func_end MOD16_021D9EA8
|
|
|
|
thumb_func_start MOD16_021D9EC4
|
|
MOD16_021D9EC4: ; 0x021D9EC4
|
|
ldr r1, _021D9ECC ; =0x00001728
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9ECC: .word 0x00001728
|
|
thumb_func_end MOD16_021D9EC4
|
|
|
|
thumb_func_start MOD16_021D9ED0
|
|
MOD16_021D9ED0: ; 0x021D9ED0
|
|
ldr r1, _021D9ED8 ; =0x0000172C
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9ED8: .word 0x0000172C
|
|
thumb_func_end MOD16_021D9ED0
|
|
|
|
thumb_func_start MOD16_021D9EDC
|
|
MOD16_021D9EDC: ; 0x021D9EDC
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
ldr r0, _021D9EE8 ; =0x00000F74
|
|
ldr r0, [r1, r0]
|
|
bx lr
|
|
nop
|
|
_021D9EE8: .word 0x00000F74
|
|
thumb_func_end MOD16_021D9EDC
|
|
|
|
thumb_func_start MOD16_021D9EEC
|
|
MOD16_021D9EEC: ; 0x021D9EEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021D9F24 ; =0x0000172C
|
|
mov r4, #0
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _021D9F22
|
|
ldr r7, _021D9F24 ; =0x0000172C
|
|
_021D9EFC:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D9EDC
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021D9D88
|
|
cmp r6, r0
|
|
bne _021D9F1A
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021D9E3C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D9F1A:
|
|
ldr r0, [r5, r7]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021D9EFC
|
|
_021D9F22:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D9F24: .word 0x0000172C
|
|
thumb_func_end MOD16_021D9EEC
|
|
|
|
thumb_func_start MOD16_021D9F28
|
|
MOD16_021D9F28: ; 0x021D9F28
|
|
ldr r1, _021D9F30 ; =0x00001738
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9F30: .word 0x00001738
|
|
thumb_func_end MOD16_021D9F28
|
|
|
|
thumb_func_start MOD16_021D9F34
|
|
MOD16_021D9F34: ; 0x021D9F34
|
|
ldr r1, _021D9F3C ; =0x0000173C
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9F3C: .word 0x0000173C
|
|
thumb_func_end MOD16_021D9F34
|
|
|
|
thumb_func_start MOD16_021D9F40
|
|
MOD16_021D9F40: ; 0x021D9F40
|
|
ldr r1, _021D9F48 ; =0x00001754
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9F48: .word 0x00001754
|
|
thumb_func_end MOD16_021D9F40
|
|
|
|
thumb_func_start MOD16_021D9F4C
|
|
MOD16_021D9F4C: ; 0x021D9F4C
|
|
ldr r1, _021D9F54 ; =0x00001750
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9F54: .word 0x00001750
|
|
thumb_func_end MOD16_021D9F4C
|
|
|
|
thumb_func_start MOD16_021D9F58
|
|
MOD16_021D9F58: ; 0x021D9F58
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021D9DE8
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
bl FUN_02024D58
|
|
cmp r0, #0
|
|
bne _021D9F72
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021D9F72:
|
|
lsl r1, r4, #0x10
|
|
ldr r0, [r5]
|
|
lsr r1, r1, #0x10
|
|
add r2, r6, #0
|
|
bl FUN_02024D00
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021D9F58
|
|
|
|
thumb_func_start MOD16_021D9F80
|
|
MOD16_021D9F80: ; 0x021D9F80
|
|
ldr r3, _021D9F88 ; =FUN_02024CC4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021D9F88: .word FUN_02024CC4
|
|
thumb_func_end MOD16_021D9F80
|
|
|
|
thumb_func_start MOD16_021D9F8C
|
|
MOD16_021D9F8C: ; 0x021D9F8C
|
|
ldr r1, _021D9FAC ; =0x021C48F8
|
|
ldrh r1, [r1, #0x22]
|
|
cmp r1, #0
|
|
beq _021D9F9C
|
|
ldr r1, _021D9FB0 ; =0x00001758
|
|
mov r2, #0
|
|
str r2, [r0, r1]
|
|
bx lr
|
|
_021D9F9C:
|
|
ldr r1, _021D9FB4 ; =0x021C48B8
|
|
ldr r1, [r1, #0x44]
|
|
cmp r1, #0
|
|
beq _021D9FAA
|
|
ldr r1, _021D9FB0 ; =0x00001758
|
|
mov r2, #1
|
|
str r2, [r0, r1]
|
|
_021D9FAA:
|
|
bx lr
|
|
.align 2, 0
|
|
_021D9FAC: .word 0x021C48F8
|
|
_021D9FB0: .word 0x00001758
|
|
_021D9FB4: .word 0x021C48B8
|
|
thumb_func_end MOD16_021D9F8C
|
|
|
|
thumb_func_start MOD16_021D9FB8
|
|
MOD16_021D9FB8: ; 0x021D9FB8
|
|
ldr r1, _021D9FC0 ; =0x00001758
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021D9FC0: .word 0x00001758
|
|
thumb_func_end MOD16_021D9FB8
|
|
|
|
thumb_func_start MOD16_021D9FC4
|
|
MOD16_021D9FC4: ; 0x021D9FC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
ldr r7, [sp, #0x20]
|
|
add r5, r1, #0
|
|
mov r6, #0
|
|
add r4, r3, #0
|
|
str r0, [sp]
|
|
str r2, [sp, #4]
|
|
str r6, [r5]
|
|
cmp r7, #0
|
|
ble _021D9FFE
|
|
_021D9FDA:
|
|
ldrh r1, [r4]
|
|
ldr r0, [sp, #4]
|
|
bl FUN_020245F0
|
|
cmp r0, #0
|
|
beq _021D9FF6
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4]
|
|
lsl r2, r1, #1
|
|
ldr r1, [sp]
|
|
strh r0, [r1, r2]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
_021D9FF6:
|
|
add r6, r6, #1
|
|
add r4, r4, #2
|
|
cmp r6, r7
|
|
blt _021D9FDA
|
|
_021D9FFE:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021D9FC4
|
|
|
|
thumb_func_start MOD16_021DA004
|
|
MOD16_021DA004: ; 0x021DA004
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #0
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x34]
|
|
add r6, r2, #0
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
str r1, [r0]
|
|
add r0, r3, #0
|
|
ldr r7, [sp, #0x2c]
|
|
str r1, [sp, #0xc]
|
|
cmp r0, #0
|
|
ble _021DA07C
|
|
_021DA02C:
|
|
mov r4, #0
|
|
cmp r7, #0
|
|
ble _021DA054
|
|
ldr r5, [sp, #0x28]
|
|
_021DA034:
|
|
ldrh r1, [r6]
|
|
ldrh r0, [r5]
|
|
cmp r1, r0
|
|
bne _021DA04C
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #1
|
|
beq _021DA054
|
|
ldr r0, [sp, #0x34]
|
|
bl FUN_02024594
|
|
cmp r0, #0
|
|
bne _021DA054
|
|
_021DA04C:
|
|
add r4, r4, #1
|
|
add r5, r5, #2
|
|
cmp r4, r7
|
|
blt _021DA034
|
|
_021DA054:
|
|
cmp r4, r7
|
|
bge _021DA06E
|
|
ldr r0, [sp, #4]
|
|
ldrh r2, [r6]
|
|
ldr r0, [r0]
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp]
|
|
strh r2, [r0, r1]
|
|
ldr r0, [sp, #4]
|
|
ldr r0, [r0]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #4]
|
|
str r1, [r0]
|
|
_021DA06E:
|
|
ldr r0, [sp, #0xc]
|
|
add r6, r6, #2
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
cmp r1, r0
|
|
blt _021DA02C
|
|
_021DA07C:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DA004
|
|
|
|
thumb_func_start MOD16_021DA080
|
|
MOD16_021DA080: ; 0x021DA080
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021DA0D4 ; =0x00000F6C
|
|
mov r6, #0
|
|
add r7, r3, #0
|
|
add r4, r2, #0
|
|
str r1, [sp]
|
|
str r6, [r5, r0]
|
|
cmp r7, #0
|
|
ble _021DA0D2
|
|
_021DA094:
|
|
ldrh r1, [r4]
|
|
ldr r0, [sp]
|
|
bl FUN_02024594
|
|
cmp r0, #0
|
|
ldr r0, _021DA0D4 ; =0x00000F6C
|
|
beq _021DA0AC
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #3
|
|
add r1, r5, r0
|
|
mov r0, #2
|
|
b _021DA0B4
|
|
_021DA0AC:
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #3
|
|
add r1, r5, r0
|
|
mov r0, #1
|
|
_021DA0B4:
|
|
str r0, [r1, #4]
|
|
ldr r1, _021DA0D4 ; =0x00000F6C
|
|
ldrh r0, [r4]
|
|
ldr r1, [r5, r1]
|
|
add r6, r6, #1
|
|
lsl r1, r1, #3
|
|
str r0, [r5, r1]
|
|
ldr r0, _021DA0D4 ; =0x00000F6C
|
|
add r4, r4, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r0, #1
|
|
ldr r0, _021DA0D4 ; =0x00000F6C
|
|
str r1, [r5, r0]
|
|
cmp r6, r7
|
|
blt _021DA094
|
|
_021DA0D2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DA0D4: .word 0x00000F6C
|
|
thumb_func_end MOD16_021DA080
|
|
|
|
thumb_func_start MOD16_021DA0D8
|
|
MOD16_021DA0D8: ; 0x021DA0D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
ldr r1, _021DA13C ; =0x00001728
|
|
mov ip, r2
|
|
str r4, [r0, r1]
|
|
add r1, r2, #0
|
|
mov lr, r4
|
|
cmp r1, #0
|
|
ble _021DA13A
|
|
ldr r7, _021DA13C ; =0x00001728
|
|
add r5, r0, #0
|
|
_021DA0F0:
|
|
ldr r1, _021DA140 ; =0x00000F6C
|
|
ldr r1, [r0, r1]
|
|
cmp r4, r1
|
|
bge _021DA12C
|
|
ldrh r1, [r6]
|
|
ldr r2, [r5]
|
|
cmp r2, r1
|
|
ldr r1, _021DA13C ; =0x00001728
|
|
bne _021DA11A
|
|
ldr r1, [r0, r1]
|
|
add r5, #8
|
|
lsl r1, r1, #2
|
|
add r2, r0, r1
|
|
mov r1, #0xf7
|
|
lsl r1, r1, #4
|
|
str r4, [r2, r1]
|
|
ldr r1, [r0, r7]
|
|
add r4, r4, #1
|
|
add r1, r1, #1
|
|
str r1, [r0, r7]
|
|
b _021DA12C
|
|
_021DA11A:
|
|
ldr r1, [r0, r1]
|
|
ldr r2, _021DA144 ; =0x000001EE
|
|
lsl r1, r1, #2
|
|
add r3, r0, r1
|
|
lsl r1, r2, #3
|
|
str r2, [r3, r1]
|
|
ldr r1, [r0, r7]
|
|
add r1, r1, #1
|
|
str r1, [r0, r7]
|
|
_021DA12C:
|
|
mov r1, lr
|
|
add r1, r1, #1
|
|
mov r2, ip
|
|
add r6, r6, #2
|
|
mov lr, r1
|
|
cmp r1, r2
|
|
blt _021DA0F0
|
|
_021DA13A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DA13C: .word 0x00001728
|
|
_021DA140: .word 0x00000F6C
|
|
_021DA144: .word 0x000001EE
|
|
thumb_func_end MOD16_021DA0D8
|
|
|
|
thumb_func_start MOD16_021DA148
|
|
MOD16_021DA148: ; 0x021DA148
|
|
push {r3, r4, r5, r6}
|
|
ldr r2, _021DA17C ; =0x00001728
|
|
mov r1, #0
|
|
str r1, [r0, r2]
|
|
ldr r2, _021DA180 ; =0x00000F6C
|
|
ldr r2, [r0, r2]
|
|
cmp r2, #0
|
|
ble _021DA178
|
|
ldr r5, _021DA17C ; =0x00001728
|
|
mov r3, #0xf7
|
|
lsl r3, r3, #4
|
|
add r2, r5, #0
|
|
sub r4, r3, #4
|
|
_021DA162:
|
|
ldr r6, [r0, r2]
|
|
lsl r6, r6, #2
|
|
add r6, r0, r6
|
|
str r1, [r6, r3]
|
|
ldr r6, [r0, r5]
|
|
add r1, r1, #1
|
|
add r6, r6, #1
|
|
str r6, [r0, r5]
|
|
ldr r6, [r0, r4]
|
|
cmp r1, r6
|
|
blt _021DA162
|
|
_021DA178:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.align 2, 0
|
|
_021DA17C: .word 0x00001728
|
|
_021DA180: .word 0x00000F6C
|
|
thumb_func_end MOD16_021DA148
|
|
|
|
thumb_func_start MOD16_021DA184
|
|
MOD16_021DA184: ; 0x021DA184
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
cmp r5, #0x2f
|
|
blt _021DA196
|
|
bl ErrorHandling
|
|
_021DA196:
|
|
mov r2, #0
|
|
add r5, #0xb
|
|
str r2, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4b
|
|
add r1, r5, #0
|
|
add r3, r6, #0
|
|
bl FUN_02006D18
|
|
ldr r1, [sp, #8]
|
|
lsr r1, r1, #1
|
|
str r1, [r4]
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DA184
|
|
|
|
thumb_func_start MOD16_021DA1B4
|
|
MOD16_021DA1B4: ; 0x021DA1B4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
add r7, r2, #0
|
|
mov r4, #0
|
|
str r3, [sp, #0x14]
|
|
ldr r0, [sp, #0x34]
|
|
cmp r5, #5
|
|
bhi _021DA222
|
|
add r1, r5, r5
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DA1D4: ; jump table
|
|
.short _021DA1E0 - _021DA1D4 - 2 ; case 0
|
|
.short _021DA1E4 - _021DA1D4 - 2 ; case 1
|
|
.short _021DA1F2 - _021DA1D4 - 2 ; case 2
|
|
.short _021DA1FE - _021DA1D4 - 2 ; case 3
|
|
.short _021DA20A - _021DA1D4 - 2 ; case 4
|
|
.short _021DA216 - _021DA1D4 - 2 ; case 5
|
|
_021DA1E0:
|
|
add r6, r4, #0
|
|
b _021DA226
|
|
_021DA1E4:
|
|
mov r1, #2
|
|
add r2, sp, #0x18
|
|
bl MOD16_021DA184
|
|
add r6, r0, #0
|
|
mov r4, #1
|
|
b _021DA226
|
|
_021DA1F2:
|
|
mov r1, #3
|
|
add r2, sp, #0x18
|
|
bl MOD16_021DA184
|
|
add r6, r0, #0
|
|
b _021DA226
|
|
_021DA1FE:
|
|
mov r1, #4
|
|
add r2, sp, #0x18
|
|
bl MOD16_021DA184
|
|
add r6, r0, #0
|
|
b _021DA226
|
|
_021DA20A:
|
|
mov r1, #5
|
|
add r2, sp, #0x18
|
|
bl MOD16_021DA184
|
|
add r6, r0, #0
|
|
b _021DA226
|
|
_021DA216:
|
|
mov r1, #6
|
|
add r2, sp, #0x18
|
|
bl MOD16_021DA184
|
|
add r6, r0, #0
|
|
b _021DA226
|
|
_021DA222:
|
|
bl ErrorHandling
|
|
_021DA226:
|
|
cmp r6, #0
|
|
beq _021DA24E
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
add r2, r6, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x38]
|
|
str r4, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [sp, #0x18]
|
|
bl MOD16_021DA004
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021DA24E:
|
|
ldr r2, [sp, #0x30]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x14]
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [r7]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA1B4
|
|
|
|
thumb_func_start MOD16_021DA264
|
|
MOD16_021DA264: ; 0x021DA264
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r6, r2, #0
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [sp, #0x34]
|
|
cmp r5, #9
|
|
bhi _021DA306
|
|
add r1, r5, r5
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DA282: ; jump table
|
|
.short _021DA296 - _021DA282 - 2 ; case 0
|
|
.short _021DA29A - _021DA282 - 2 ; case 1
|
|
.short _021DA2A6 - _021DA282 - 2 ; case 2
|
|
.short _021DA2B2 - _021DA282 - 2 ; case 3
|
|
.short _021DA2BE - _021DA282 - 2 ; case 4
|
|
.short _021DA2CA - _021DA282 - 2 ; case 5
|
|
.short _021DA2D6 - _021DA282 - 2 ; case 6
|
|
.short _021DA2E2 - _021DA282 - 2 ; case 7
|
|
.short _021DA2EE - _021DA282 - 2 ; case 8
|
|
.short _021DA2FA - _021DA282 - 2 ; case 9
|
|
_021DA296:
|
|
mov r4, #0
|
|
b _021DA30A
|
|
_021DA29A:
|
|
mov r1, #7
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2A6:
|
|
mov r1, #8
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2B2:
|
|
mov r1, #9
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2BE:
|
|
mov r1, #0xa
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2CA:
|
|
mov r1, #0xb
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2D6:
|
|
mov r1, #0xc
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2E2:
|
|
mov r1, #0xd
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2EE:
|
|
mov r1, #0xe
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA2FA:
|
|
mov r1, #0xf
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA30A
|
|
_021DA306:
|
|
bl ErrorHandling
|
|
_021DA30A:
|
|
cmp r4, #0
|
|
beq _021DA332
|
|
str r4, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r3, [sp, #0x30]
|
|
str r0, [sp, #0xc]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DA004
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DA332:
|
|
ldr r2, [sp, #0x30]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r7, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [r6]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA264
|
|
|
|
thumb_func_start MOD16_021DA348
|
|
MOD16_021DA348: ; 0x021DA348
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r6, r2, #0
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [sp, #0x34]
|
|
cmp r5, #0x11
|
|
bhi _021DA45A
|
|
add r1, r5, r5
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DA366: ; jump table
|
|
.short _021DA38A - _021DA366 - 2 ; case 0
|
|
.short _021DA38E - _021DA366 - 2 ; case 1
|
|
.short _021DA39A - _021DA366 - 2 ; case 2
|
|
.short _021DA3A6 - _021DA366 - 2 ; case 3
|
|
.short _021DA3B2 - _021DA366 - 2 ; case 4
|
|
.short _021DA3BE - _021DA366 - 2 ; case 5
|
|
.short _021DA3CA - _021DA366 - 2 ; case 6
|
|
.short _021DA3D6 - _021DA366 - 2 ; case 7
|
|
.short _021DA3E2 - _021DA366 - 2 ; case 8
|
|
.short _021DA3EE - _021DA366 - 2 ; case 9
|
|
.short _021DA3FA - _021DA366 - 2 ; case 10
|
|
.short _021DA406 - _021DA366 - 2 ; case 11
|
|
.short _021DA412 - _021DA366 - 2 ; case 12
|
|
.short _021DA41E - _021DA366 - 2 ; case 13
|
|
.short _021DA42A - _021DA366 - 2 ; case 14
|
|
.short _021DA436 - _021DA366 - 2 ; case 15
|
|
.short _021DA442 - _021DA366 - 2 ; case 16
|
|
.short _021DA44E - _021DA366 - 2 ; case 17
|
|
_021DA38A:
|
|
mov r4, #0
|
|
b _021DA45E
|
|
_021DA38E:
|
|
mov r1, #0x10
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA39A:
|
|
mov r1, #0x11
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3A6:
|
|
mov r1, #0x12
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3B2:
|
|
mov r1, #0x13
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3BE:
|
|
mov r1, #0x14
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3CA:
|
|
mov r1, #0x15
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3D6:
|
|
mov r1, #0x16
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3E2:
|
|
mov r1, #0x17
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3EE:
|
|
mov r1, #0x18
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA3FA:
|
|
mov r1, #0x19
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA406:
|
|
mov r1, #0x1a
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA412:
|
|
mov r1, #0x1b
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA41E:
|
|
mov r1, #0x1c
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA42A:
|
|
mov r1, #0x1d
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA436:
|
|
mov r1, #0x1e
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA442:
|
|
mov r1, #0x1f
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA44E:
|
|
mov r1, #0x20
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA45E
|
|
_021DA45A:
|
|
bl ErrorHandling
|
|
_021DA45E:
|
|
cmp r4, #0
|
|
beq _021DA486
|
|
str r4, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r3, [sp, #0x30]
|
|
str r0, [sp, #0xc]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DA004
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DA486:
|
|
ldr r2, [sp, #0x30]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r7, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [r6]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA348
|
|
|
|
thumb_func_start MOD16_021DA49C
|
|
MOD16_021DA49C: ; 0x021DA49C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r6, r2, #0
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [sp, #0x34]
|
|
cmp r5, #0xe
|
|
bhi _021DA584
|
|
add r1, r5, r5
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DA4BA: ; jump table
|
|
.short _021DA4D8 - _021DA4BA - 2 ; case 0
|
|
.short _021DA4DC - _021DA4BA - 2 ; case 1
|
|
.short _021DA4E8 - _021DA4BA - 2 ; case 2
|
|
.short _021DA4F4 - _021DA4BA - 2 ; case 3
|
|
.short _021DA500 - _021DA4BA - 2 ; case 4
|
|
.short _021DA50C - _021DA4BA - 2 ; case 5
|
|
.short _021DA518 - _021DA4BA - 2 ; case 6
|
|
.short _021DA524 - _021DA4BA - 2 ; case 7
|
|
.short _021DA530 - _021DA4BA - 2 ; case 8
|
|
.short _021DA53C - _021DA4BA - 2 ; case 9
|
|
.short _021DA548 - _021DA4BA - 2 ; case 10
|
|
.short _021DA554 - _021DA4BA - 2 ; case 11
|
|
.short _021DA560 - _021DA4BA - 2 ; case 12
|
|
.short _021DA56C - _021DA4BA - 2 ; case 13
|
|
.short _021DA578 - _021DA4BA - 2 ; case 14
|
|
_021DA4D8:
|
|
mov r4, #0
|
|
b _021DA588
|
|
_021DA4DC:
|
|
mov r1, #0x21
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA4E8:
|
|
mov r1, #0x22
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA4F4:
|
|
mov r1, #0x23
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA500:
|
|
mov r1, #0x24
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA50C:
|
|
mov r1, #0x25
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA518:
|
|
mov r1, #0x26
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA524:
|
|
mov r1, #0x27
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA530:
|
|
mov r1, #0x28
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA53C:
|
|
mov r1, #0x29
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA548:
|
|
mov r1, #0x2a
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA554:
|
|
mov r1, #0x2b
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA560:
|
|
mov r1, #0x2c
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA56C:
|
|
mov r1, #0x2d
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA578:
|
|
mov r1, #0x2e
|
|
add r2, sp, #0x14
|
|
bl MOD16_021DA184
|
|
add r4, r0, #0
|
|
b _021DA588
|
|
_021DA584:
|
|
bl ErrorHandling
|
|
_021DA588:
|
|
cmp r4, #0
|
|
beq _021DA5B0
|
|
str r4, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r3, [sp, #0x30]
|
|
str r0, [sp, #0xc]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DA004
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DA5B0:
|
|
ldr r2, [sp, #0x30]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r7, #0
|
|
lsl r2, r2, #1
|
|
bl memcpy
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [r6]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DA49C
|
|
|
|
thumb_func_start MOD16_021DA5C4
|
|
MOD16_021DA5C4: ; 0x021DA5C4
|
|
push {r3, r4, r5, r6}
|
|
mov r3, #0
|
|
str r3, [r1]
|
|
ldr r4, _021DA5F8 ; =0x00000F6C
|
|
str r3, [r2]
|
|
ldr r4, [r0, r4]
|
|
cmp r4, #0
|
|
ble _021DA5F4
|
|
ldr r5, _021DA5F8 ; =0x00000F6C
|
|
add r4, r0, #0
|
|
_021DA5D8:
|
|
ldr r6, [r4, #4]
|
|
cmp r6, #2
|
|
bne _021DA5E4
|
|
ldr r6, [r2]
|
|
add r6, r6, #1
|
|
str r6, [r2]
|
|
_021DA5E4:
|
|
ldr r6, [r1]
|
|
add r3, r3, #1
|
|
add r6, r6, #1
|
|
str r6, [r1]
|
|
ldr r6, [r0, r5]
|
|
add r4, #8
|
|
cmp r3, r6
|
|
blt _021DA5D8
|
|
_021DA5F4:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.align 2, 0
|
|
_021DA5F8: .word 0x00000F6C
|
|
thumb_func_end MOD16_021DA5C4
|
|
|
|
thumb_func_start MOD16_021DA5FC
|
|
MOD16_021DA5FC: ; 0x021DA5FC
|
|
push {r3, r4, r5, lr}
|
|
mov r1, #0x48
|
|
add r5, r0, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DA60E
|
|
bl ErrorHandling
|
|
_021DA60E:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x48
|
|
bl memset
|
|
mov r0, #5
|
|
str r0, [r4, #8]
|
|
str r5, [r4, #0x44]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA5FC
|
|
|
|
thumb_func_start MOD16_021DA624
|
|
MOD16_021DA624: ; 0x021DA624
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #0
|
|
bne _021DA632
|
|
bl ErrorHandling
|
|
_021DA632:
|
|
cmp r4, #0
|
|
bne _021DA63A
|
|
bl ErrorHandling
|
|
_021DA63A:
|
|
add r0, r5, #0
|
|
bl MOD16_021DA7C4
|
|
cmp r0, #0
|
|
bne _021DA648
|
|
bl ErrorHandling
|
|
_021DA648:
|
|
ldr r0, [r4]
|
|
str r0, [r5]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
bl MOD16_021DA7F4
|
|
ldr r0, [r5, #0x44]
|
|
str r0, [r5, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0x2c
|
|
bl MOD16_021DA800
|
|
ldr r0, [r5, #0x44]
|
|
str r0, [r5, #0x30]
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0]
|
|
str r0, [r5, #0x20]
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #4]
|
|
str r0, [r5, #0x24]
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #8]
|
|
str r0, [r5, #0x28]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0]
|
|
str r0, [r5, #0x38]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #4]
|
|
str r0, [r5, #0x3c]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #8]
|
|
str r0, [r5, #0x40]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA624
|
|
|
|
thumb_func_start MOD16_021DA694
|
|
MOD16_021DA694: ; 0x021DA694
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DA69E
|
|
bl ErrorHandling
|
|
_021DA69E:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #5
|
|
bhi _021DA712
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DA6B0: ; jump table
|
|
.short _021DA6BC - _021DA6B0 - 2 ; case 0
|
|
.short _021DA716 - _021DA6B0 - 2 ; case 1
|
|
.short _021DA6D8 - _021DA6B0 - 2 ; case 2
|
|
.short _021DA716 - _021DA6B0 - 2 ; case 3
|
|
.short _021DA6F6 - _021DA6B0 - 2 ; case 4
|
|
.short _021DA70E - _021DA6B0 - 2 ; case 5
|
|
_021DA6BC:
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0x20]
|
|
ldr r2, [r4]
|
|
add r1, #0xc
|
|
bl MOD16_021DA808
|
|
cmp r0, #1
|
|
bne _021DA716
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
b _021DA716
|
|
_021DA6D8:
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0x24]
|
|
ldr r2, [r4]
|
|
add r1, #0xc
|
|
bl MOD16_021DA808
|
|
cmp r0, #1
|
|
bne _021DA716
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
str r0, [r4, #0x2c]
|
|
b _021DA716
|
|
_021DA6F6:
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0x28]
|
|
ldr r2, [r4]
|
|
add r1, #0xc
|
|
bl MOD16_021DA808
|
|
cmp r0, #1
|
|
bne _021DA716
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
b _021DA716
|
|
_021DA70E:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021DA712:
|
|
bl ErrorHandling
|
|
_021DA716:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA694
|
|
|
|
thumb_func_start MOD16_021DA71C
|
|
MOD16_021DA71C: ; 0x021DA71C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
bne _021DA728
|
|
bl ErrorHandling
|
|
_021DA728:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #5
|
|
bhi _021DA7A6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DA73A: ; jump table
|
|
.short _021DA7AA - _021DA73A - 2 ; case 0
|
|
.short _021DA746 - _021DA73A - 2 ; case 1
|
|
.short _021DA76A - _021DA73A - 2 ; case 2
|
|
.short _021DA780 - _021DA73A - 2 ; case 3
|
|
.short _021DA7AA - _021DA73A - 2 ; case 4
|
|
.short _021DA7A0 - _021DA73A - 2 ; case 5
|
|
_021DA746:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
add r2, r4, #0
|
|
ldr r0, [r4, #0x38]
|
|
ldr r1, [r4, #4]
|
|
ldr r3, [r4]
|
|
add r2, #0x2c
|
|
bl MOD16_021DA828
|
|
cmp r0, #1
|
|
bne _021DA7AA
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
b _021DA7AA
|
|
_021DA76A:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
add r2, r4, #0
|
|
ldr r0, [r4, #0x3c]
|
|
ldr r1, [r4, #4]
|
|
ldr r3, [r4]
|
|
add r2, #0x2c
|
|
bl MOD16_021DA828
|
|
b _021DA7AA
|
|
_021DA780:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
add r2, r4, #0
|
|
ldr r0, [r4, #0x40]
|
|
ldr r1, [r4, #4]
|
|
ldr r3, [r4]
|
|
add r2, #0x2c
|
|
bl MOD16_021DA828
|
|
cmp r0, #1
|
|
bne _021DA7AA
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
b _021DA7AA
|
|
_021DA7A0:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_021DA7A6:
|
|
bl ErrorHandling
|
|
_021DA7AA:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021DA71C
|
|
|
|
thumb_func_start MOD16_021DA7B0
|
|
MOD16_021DA7B0: ; 0x021DA7B0
|
|
str r1, [r0, #0x1c]
|
|
bx lr
|
|
thumb_func_end MOD16_021DA7B0
|
|
|
|
thumb_func_start MOD16_021DA7B4
|
|
MOD16_021DA7B4: ; 0x021DA7B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DA7BE
|
|
bl ErrorHandling
|
|
_021DA7BE:
|
|
mov r0, #1
|
|
str r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DA7B4
|
|
|
|
thumb_func_start MOD16_021DA7C4
|
|
MOD16_021DA7C4: ; 0x021DA7C4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DA7CE
|
|
bl ErrorHandling
|
|
_021DA7CE:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #5
|
|
bne _021DA7D8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021DA7D8:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DA7C4
|
|
|
|
thumb_func_start MOD16_021DA7DC
|
|
MOD16_021DA7DC: ; 0x021DA7DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DA7E6
|
|
bl ErrorHandling
|
|
_021DA7E6:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #2
|
|
bne _021DA7F0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021DA7F0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DA7DC
|
|
|
|
thumb_func_start MOD16_021DA7F4
|
|
MOD16_021DA7F4: ; 0x021DA7F4
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #8]
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA7F4
|
|
|
|
thumb_func_start MOD16_021DA800
|
|
MOD16_021DA800: ; 0x021DA800
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MOD16_021DA800
|
|
|
|
thumb_func_start MOD16_021DA808
|
|
MOD16_021DA808: ; 0x021DA808
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r5, #0
|
|
bne _021DA818
|
|
bl ErrorHandling
|
|
_021DA818:
|
|
cmp r4, #0
|
|
bne _021DA820
|
|
bl ErrorHandling
|
|
_021DA820:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
blx r5
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DA808
|
|
|
|
thumb_func_start MOD16_021DA828
|
|
MOD16_021DA828: ; 0x021DA828
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
add r7, r3, #0
|
|
cmp r5, #0
|
|
bne _021DA83A
|
|
bl ErrorHandling
|
|
_021DA83A:
|
|
cmp r4, #0
|
|
bne _021DA842
|
|
bl ErrorHandling
|
|
_021DA842:
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
bne _021DA84C
|
|
bl ErrorHandling
|
|
_021DA84C:
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
blx r5
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DA828
|
|
|
|
thumb_func_start MOD16_021DA858
|
|
MOD16_021DA858: ; 0x021DA858
|
|
push {r4, lr}
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DA868
|
|
bl ErrorHandling
|
|
_021DA868:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA858
|
|
|
|
thumb_func_start MOD16_021DA888
|
|
MOD16_021DA888: ; 0x021DA888
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r5, #0
|
|
bne _021DA898
|
|
bl ErrorHandling
|
|
_021DA898:
|
|
str r4, [r5]
|
|
str r6, [r5, #4]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA888
|
|
|
|
thumb_func_start MOD16_021DA8A0
|
|
MOD16_021DA8A0: ; 0x021DA8A0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
cmp r4, #0
|
|
bne _021DA8AE
|
|
bl ErrorHandling
|
|
_021DA8AE:
|
|
add r0, r4, #0
|
|
bl MOD16_021DA908
|
|
cmp r0, #0
|
|
bne _021DA8CA
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DA918
|
|
add r1, r0, #0
|
|
beq _021DA8CA
|
|
add r0, r4, #0
|
|
bl MOD16_021DA950
|
|
_021DA8CA:
|
|
add r0, r4, #0
|
|
bl MOD16_021DA908
|
|
cmp r0, #1
|
|
bne _021DA8EA
|
|
ldr r1, [r4, #8]
|
|
add r0, r1, #0
|
|
ldr r1, [r1, #4]
|
|
add r0, #8
|
|
blx r1
|
|
cmp r0, #1
|
|
bne _021DA8EA
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD16_021DA950
|
|
_021DA8EA:
|
|
ldr r0, [r4, #8]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA8A0
|
|
|
|
thumb_func_start MOD16_021DA8F0
|
|
MOD16_021DA8F0: ; 0x021DA8F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DA8FA
|
|
bl ErrorHandling
|
|
_021DA8FA:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021DA904
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021DA904:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DA8F0
|
|
|
|
thumb_func_start MOD16_021DA908
|
|
MOD16_021DA908: ; 0x021DA908
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _021DA912
|
|
mov r0, #1
|
|
bx lr
|
|
_021DA912:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA908
|
|
|
|
thumb_func_start MOD16_021DA918
|
|
MOD16_021DA918: ; 0x021DA918
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r7, r1, #0
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _021DA94C
|
|
add r4, r6, #0
|
|
_021DA928:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
bne _021DA932
|
|
bl ErrorHandling
|
|
_021DA932:
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, r4]
|
|
tst r1, r7
|
|
beq _021DA942
|
|
mov r1, #0x14
|
|
mul r1, r6
|
|
add r0, r0, r1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DA942:
|
|
ldr r0, [r5, #4]
|
|
add r6, r6, #1
|
|
add r4, #0x14
|
|
cmp r6, r0
|
|
blt _021DA928
|
|
_021DA94C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DA918
|
|
|
|
thumb_func_start MOD16_021DA950
|
|
MOD16_021DA950: ; 0x021DA950
|
|
str r1, [r0, #8]
|
|
cmp r1, #0
|
|
beq _021DA95A
|
|
mov r0, #0
|
|
str r0, [r1, #8]
|
|
_021DA95A:
|
|
bx lr
|
|
thumb_func_end MOD16_021DA950
|
|
|
|
thumb_func_start MOD16_021DA95C
|
|
MOD16_021DA95C: ; 0x021DA95C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r2, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021DA9BC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DA974: ; jump table
|
|
.short _021DA97C - _021DA974 - 2 ; case 0
|
|
.short _021DA98A - _021DA974 - 2 ; case 1
|
|
.short _021DA99C - _021DA974 - 2 ; case 2
|
|
.short _021DA9AE - _021DA974 - 2 ; case 3
|
|
_021DA97C:
|
|
ldr r0, [r2, #4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DA9C0
|
|
_021DA98A:
|
|
ldr r0, [r2, #4]
|
|
bl MOD16_021DA7C4
|
|
cmp r0, #1
|
|
bne _021DA9C0
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DA9C0
|
|
_021DA99C:
|
|
ldr r0, [r2]
|
|
ldr r1, [r2, #8]
|
|
ldr r2, [r2, #4]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DA9C0
|
|
_021DA9AE:
|
|
ldr r0, [r2, #4]
|
|
bl MOD16_021DA7DC
|
|
cmp r0, #1
|
|
bne _021DA9C0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021DA9BC:
|
|
bl ErrorHandling
|
|
_021DA9C0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DA95C
|
|
|
|
thumb_func_start MOD16_021DA9C4
|
|
MOD16_021DA9C4: ; 0x021DA9C4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r4, [r5, #8]
|
|
cmp r0, #0
|
|
beq _021DA9DC
|
|
cmp r0, #1
|
|
beq _021DA9FC
|
|
cmp r0, #2
|
|
beq _021DAA3A
|
|
b _021DAA44
|
|
_021DA9DC:
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAA48
|
|
_021DA9FC:
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021DAA20:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021DAA2E
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #4
|
|
blt _021DAA20
|
|
_021DAA2E:
|
|
cmp r1, #4
|
|
blt _021DAA48
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAA48
|
|
_021DAA3A:
|
|
ldr r1, [r4, #0x10]
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_021DAA44:
|
|
bl ErrorHandling
|
|
_021DAA48:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DA9C4
|
|
|
|
thumb_func_start MOD16_021DAA50
|
|
MOD16_021DAA50: ; 0x021DAA50
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r4, [r5, #8]
|
|
cmp r0, #3
|
|
bls _021DAA60
|
|
b _021DAB68
|
|
_021DAA60:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DAA6C: ; jump table
|
|
.short _021DAA74 - _021DAA6C - 2 ; case 0
|
|
.short _021DAA94 - _021DAA6C - 2 ; case 1
|
|
.short _021DAAD2 - _021DAA6C - 2 ; case 2
|
|
.short _021DAB02 - _021DAA6C - 2 ; case 3
|
|
_021DAA74:
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAB6C
|
|
_021DAA94:
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021DAAB8:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021DAAC6
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #4
|
|
blt _021DAAB8
|
|
_021DAAC6:
|
|
cmp r1, #4
|
|
blt _021DAB6C
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAB6C
|
|
_021DAAD2:
|
|
ldr r0, [r4, #0x20]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r2, [r4]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r4, #0x24]
|
|
ldr r1, [r4, #0x14]
|
|
ldr r2, [r4, #4]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r4, #0x28]
|
|
ldr r1, [r4, #0x18]
|
|
ldr r2, [r4, #8]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r4, #0x2c]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r2, [r4, #0xc]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAB6C
|
|
_021DAB02:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
beq _021DAB12
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7DC
|
|
str r0, [sp]
|
|
b _021DAB16
|
|
_021DAB12:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021DAB16:
|
|
ldr r0, [r4, #0x24]
|
|
cmp r0, #0
|
|
beq _021DAB24
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7DC
|
|
str r0, [sp, #4]
|
|
_021DAB24:
|
|
ldr r0, [r4, #0x28]
|
|
cmp r0, #0
|
|
beq _021DAB34
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DA7DC
|
|
str r0, [sp, #8]
|
|
b _021DAB38
|
|
_021DAB34:
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
_021DAB38:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _021DAB48
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021DA7DC
|
|
str r0, [sp, #0xc]
|
|
b _021DAB4C
|
|
_021DAB48:
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
_021DAB4C:
|
|
mov r2, #0
|
|
add r1, sp, #0
|
|
_021DAB50:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
beq _021DAB5E
|
|
add r2, r2, #1
|
|
add r1, r1, #4
|
|
cmp r2, #4
|
|
blt _021DAB50
|
|
_021DAB5E:
|
|
cmp r2, #4
|
|
blt _021DAB6C
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021DAB68:
|
|
bl ErrorHandling
|
|
_021DAB6C:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DAA50
|
|
|
|
thumb_func_start MOD16_021DAB74
|
|
MOD16_021DAB74: ; 0x021DAB74
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r4, [r5, #8]
|
|
cmp r0, #3
|
|
bhi _021DAC38
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DAB8E: ; jump table
|
|
.short _021DAB96 - _021DAB8E - 2 ; case 0
|
|
.short _021DABAA - _021DAB8E - 2 ; case 1
|
|
.short _021DABD8 - _021DAB8E - 2 ; case 2
|
|
.short _021DABF4 - _021DAB8E - 2 ; case 3
|
|
_021DAB96:
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7B4
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAC3C
|
|
_021DABAA:
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7C4
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021DABBE:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021DABCC
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021DABBE
|
|
_021DABCC:
|
|
cmp r1, #2
|
|
blt _021DAC3C
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAC3C
|
|
_021DABD8:
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, [r4, #8]
|
|
ldr r2, [r4]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r4, #0x14]
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, [r4, #4]
|
|
bl MOD16_021DAC44
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DAC3C
|
|
_021DABF4:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _021DAC04
|
|
ldr r0, [r4]
|
|
bl MOD16_021DA7DC
|
|
str r0, [sp]
|
|
b _021DAC08
|
|
_021DAC04:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021DAC08:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _021DAC18
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DA7DC
|
|
str r0, [sp, #4]
|
|
b _021DAC1C
|
|
_021DAC18:
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
_021DAC1C:
|
|
mov r2, #0
|
|
add r1, sp, #0
|
|
_021DAC20:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
beq _021DAC2E
|
|
add r2, r2, #1
|
|
add r1, r1, #4
|
|
cmp r2, #2
|
|
blt _021DAC20
|
|
_021DAC2E:
|
|
cmp r2, #2
|
|
blt _021DAC3C
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021DAC38:
|
|
bl ErrorHandling
|
|
_021DAC3C:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DAB74
|
|
|
|
thumb_func_start MOD16_021DAC44
|
|
MOD16_021DAC44: ; 0x021DAC44
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #0
|
|
beq _021DAC76
|
|
ldr r0, [r5]
|
|
add r1, sp, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #8
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
str r0, [sp, #0xc]
|
|
add r0, r2, #0
|
|
bl MOD16_021DA624
|
|
ldr r1, [r5, #0x20]
|
|
ldr r2, [r5, #0x24]
|
|
add r0, r4, #0
|
|
bl MOD16_021DA888
|
|
_021DAC76:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DAC44
|
|
|
|
thumb_func_start MOD16_021DAC7C
|
|
MOD16_021DAC7C: ; 0x021DAC7C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _021DAC8A
|
|
bl ErrorHandling
|
|
_021DAC8A:
|
|
ldr r0, [r4, #0x10]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DAC7C
|
|
|
|
thumb_func_start MOD16_021DAC98
|
|
MOD16_021DAC98: ; 0x021DAC98
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
ldr r1, _021DAD1C ; =MOD16_021DAA50
|
|
str r3, [r6]
|
|
str r1, [r6, #4]
|
|
mov r1, #0x30
|
|
add r5, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DACB2
|
|
bl ErrorHandling
|
|
_021DACB2:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x30
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A60
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A74
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AB0
|
|
str r0, [r4, #0x18]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AC4
|
|
str r0, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x20]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x24]
|
|
mov r0, #0
|
|
str r0, [r4, #0x28]
|
|
str r0, [r4, #0x2c]
|
|
str r4, [r6, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DAD1C: .word MOD16_021DAA50
|
|
thumb_func_end MOD16_021DAC98
|
|
|
|
thumb_func_start MOD16_021DAD20
|
|
MOD16_021DAD20: ; 0x021DAD20
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DAD74 ; =MOD16_021DA9C4
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0x14
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAD3A
|
|
bl ErrorHandling
|
|
_021DAD3A:
|
|
add r2, r4, #0
|
|
mov r1, #0x14
|
|
mov r0, #0
|
|
_021DAD40:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DAD40
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A60
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A74
|
|
str r0, [r4, #0xc]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7B28
|
|
str r0, [r4, #0x10]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DAD74: .word MOD16_021DA9C4
|
|
thumb_func_end MOD16_021DAD20
|
|
|
|
thumb_func_start MOD16_021DAD78
|
|
MOD16_021DAD78: ; 0x021DAD78
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
ldr r1, _021DAE08 ; =MOD16_021DAA50
|
|
str r3, [r6]
|
|
str r1, [r6, #4]
|
|
mov r1, #0x30
|
|
add r5, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAD92
|
|
bl ErrorHandling
|
|
_021DAD92:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x30
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A60
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A74
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AB0
|
|
str r0, [r4, #0x18]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AC4
|
|
str r0, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x20]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x24]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x28]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x2c]
|
|
str r4, [r6, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DAE08: .word MOD16_021DAA50
|
|
thumb_func_end MOD16_021DAD78
|
|
|
|
thumb_func_start MOD16_021DAE0C
|
|
MOD16_021DAE0C: ; 0x021DAE0C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
ldr r1, _021DAE90 ; =MOD16_021DAA50
|
|
str r3, [r6]
|
|
str r1, [r6, #4]
|
|
mov r1, #0x30
|
|
add r5, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAE26
|
|
bl ErrorHandling
|
|
_021DAE26:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x30
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A60
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A74
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AB0
|
|
str r0, [r4, #0x18]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AC4
|
|
str r0, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x20]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x24]
|
|
mov r0, #0
|
|
str r0, [r4, #0x28]
|
|
str r0, [r4, #0x2c]
|
|
str r4, [r6, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DAE90: .word MOD16_021DAA50
|
|
thumb_func_end MOD16_021DAE0C
|
|
|
|
thumb_func_start MOD16_021DAE94
|
|
MOD16_021DAE94: ; 0x021DAE94
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021DAED0 ; =MOD16_021DA95C
|
|
str r3, [r5]
|
|
add r6, r1, #0
|
|
str r0, [r5, #4]
|
|
add r0, r2, #0
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAEB0
|
|
bl ErrorHandling
|
|
_021DAEB0:
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DAED0: .word MOD16_021DA95C
|
|
thumb_func_end MOD16_021DAE94
|
|
|
|
thumb_func_start MOD16_021DAED4
|
|
MOD16_021DAED4: ; 0x021DAED4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DAF34 ; =MOD16_021DAB74
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0x18
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAEEE
|
|
bl ErrorHandling
|
|
_021DAEEE:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DAEF4:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DAEF4
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x14]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DAF34: .word MOD16_021DAB74
|
|
thumb_func_end MOD16_021DAED4
|
|
|
|
thumb_func_start MOD16_021DAF38
|
|
MOD16_021DAF38: ; 0x021DAF38
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DAF98 ; =MOD16_021DAB74
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0x18
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAF52
|
|
bl ErrorHandling
|
|
_021DAF52:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DAF58:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DAF58
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x14]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DAF98: .word MOD16_021DAB74
|
|
thumb_func_end MOD16_021DAF38
|
|
|
|
thumb_func_start MOD16_021DAF9C
|
|
MOD16_021DAF9C: ; 0x021DAF9C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DAFFC ; =MOD16_021DAB74
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0x18
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DAFB6
|
|
bl ErrorHandling
|
|
_021DAFB6:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DAFBC:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DAFBC
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x14]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DAFFC: .word MOD16_021DAB74
|
|
thumb_func_end MOD16_021DAF9C
|
|
|
|
thumb_func_start MOD16_021DB000
|
|
MOD16_021DB000: ; 0x021DB000
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DB054 ; =MOD16_021DA95C
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0xc
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB01A
|
|
bl ErrorHandling
|
|
_021DB01A:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DB054: .word MOD16_021DA95C
|
|
thumb_func_end MOD16_021DB000
|
|
|
|
thumb_func_start MOD16_021DB058
|
|
MOD16_021DB058: ; 0x021DB058
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DB0AC ; =MOD16_021DA95C
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0xc
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB072
|
|
bl ErrorHandling
|
|
_021DB072:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DB0AC: .word MOD16_021DA95C
|
|
thumb_func_end MOD16_021DB058
|
|
|
|
thumb_func_start MOD16_021DB0B0
|
|
MOD16_021DB0B0: ; 0x021DB0B0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DB110 ; =MOD16_021DAB74
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0x18
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB0CA
|
|
bl ErrorHandling
|
|
_021DB0CA:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DB0D0:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DB0D0
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x14]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DB110: .word MOD16_021DAB74
|
|
thumb_func_end MOD16_021DB0B0
|
|
|
|
thumb_func_start MOD16_021DB114
|
|
MOD16_021DB114: ; 0x021DB114
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DB168 ; =MOD16_021DA95C
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0xc
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB12E
|
|
bl ErrorHandling
|
|
_021DB12E:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DB168: .word MOD16_021DA95C
|
|
thumb_func_end MOD16_021DB114
|
|
|
|
thumb_func_start MOD16_021DB16C
|
|
MOD16_021DB16C: ; 0x021DB16C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DB1CC ; =MOD16_021DAB74
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0x18
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB186
|
|
bl ErrorHandling
|
|
_021DB186:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DB18C:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DB18C
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A4C
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A9C
|
|
str r0, [r4, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x14]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DB1CC: .word MOD16_021DAB74
|
|
thumb_func_end MOD16_021DB16C
|
|
|
|
thumb_func_start MOD16_021DB1D0
|
|
MOD16_021DB1D0: ; 0x021DB1D0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _021DB224 ; =MOD16_021DA95C
|
|
str r3, [r5]
|
|
str r1, [r5, #4]
|
|
mov r1, #0xc
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB1EA
|
|
bl ErrorHandling
|
|
_021DB1EA:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A38
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7A88
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4]
|
|
str r4, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DB224: .word MOD16_021DA95C
|
|
thumb_func_end MOD16_021DB1D0
|
|
|
|
thumb_func_start MOD16_021DB228
|
|
MOD16_021DB228: ; 0x021DB228
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DB23C
|
|
bl ErrorHandling
|
|
_021DB23C:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DB242:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DB242
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #0xc]
|
|
bl FUN_02011744
|
|
str r0, [r4]
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r5, #0xc]
|
|
lsl r1, r1, #4
|
|
bl AllocFromHeap
|
|
str r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _021DB268
|
|
bl ErrorHandling
|
|
_021DB268:
|
|
ldr r2, [r5, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
bl memset
|
|
ldr r0, [r5, #8]
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r5]
|
|
str r0, [r4, #4]
|
|
ldr r0, [r5, #4]
|
|
str r0, [r4, #8]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DB228
|
|
|
|
thumb_func_start MOD16_021DB288
|
|
MOD16_021DB288: ; 0x021DB288
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DB292
|
|
bl ErrorHandling
|
|
_021DB292:
|
|
add r0, r4, #0
|
|
bl MOD16_021DB358
|
|
ldr r0, [r4, #0xc]
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
bl FUN_020117BC
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021DB2AA:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DB2AA
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB288
|
|
|
|
thumb_func_start MOD16_021DB2BC
|
|
MOD16_021DB2BC: ; 0x021DB2BC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r4, #0x20]
|
|
ldr r2, [r4, #0x24]
|
|
bl FUN_02011898
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021DB2D4
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DB2BC
|
|
|
|
thumb_func_start MOD16_021DB2D4
|
|
MOD16_021DB2D4: ; 0x021DB2D4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r1, #0
|
|
bl MOD16_021DB460
|
|
add r4, r0, #0
|
|
bne _021DB2EA
|
|
bl ErrorHandling
|
|
_021DB2EA:
|
|
ldr r2, [r5, #0x20]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
add r3, r4, #4
|
|
bl FUN_0201D568
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #8]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0x10]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #0x18]
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r5, #0x20]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [r5, #0x24]
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0
|
|
bl FUN_020117E8
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
add sp, #0x30
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DB2D4
|
|
|
|
thumb_func_start MOD16_021DB338
|
|
MOD16_021DB338: ; 0x021DB338
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_02011870
|
|
add r0, r4, #4
|
|
bl FUN_0201D5E8
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_021DB34C:
|
|
strb r0, [r4]
|
|
add r4, r4, #1
|
|
sub r1, r1, #1
|
|
bne _021DB34C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB338
|
|
|
|
thumb_func_start MOD16_021DB358
|
|
MOD16_021DB358: ; 0x021DB358
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _021DB384
|
|
add r4, r6, #0
|
|
_021DB366:
|
|
ldr r0, [r5, #0xc]
|
|
add r0, r0, r4
|
|
bl MOD16_021DB450
|
|
cmp r0, #0
|
|
beq _021DB37A
|
|
ldr r0, [r5, #0xc]
|
|
add r0, r0, r4
|
|
bl MOD16_021DB338
|
|
_021DB37A:
|
|
ldr r0, [r5, #0x10]
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, r0
|
|
blt _021DB366
|
|
_021DB384:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB358
|
|
|
|
thumb_func_start MOD16_021DB388
|
|
MOD16_021DB388: ; 0x021DB388
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
add r4, r1, #0
|
|
mov r1, #1
|
|
add r6, r2, #0
|
|
bl FUN_02018FF4
|
|
add r7, r0, #0
|
|
bl FUN_0201901C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
lsl r2, r4, #0x18
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r5, #8]
|
|
add r1, r7, #0
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_020190EC
|
|
add r0, r7, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DB388
|
|
|
|
thumb_func_start MOD16_021DB3BC
|
|
MOD16_021DB3BC: ; 0x021DB3BC
|
|
ldr r3, _021DB3C4 ; =FUN_020191A4
|
|
mov r1, #1
|
|
bx r3
|
|
nop
|
|
_021DB3C4: .word FUN_020191A4
|
|
thumb_func_end MOD16_021DB3BC
|
|
|
|
thumb_func_start MOD16_021DB3C8
|
|
MOD16_021DB3C8: ; 0x021DB3C8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r3, #0
|
|
add r6, r1, #0
|
|
ldr r3, [r5, #0x14]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
bl FUN_0200A86C
|
|
add r5, r0, #0
|
|
bne _021DB3E4
|
|
bl ErrorHandling
|
|
_021DB3E4:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
ldr r3, [sp, #0x20]
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DB428 ; =0x00030201
|
|
mov r1, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl FUN_0201BDE0
|
|
mov r0, #2
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
bl FUN_0200A8B8
|
|
add r0, r6, #0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DB428: .word 0x00030201
|
|
thumb_func_end MOD16_021DB3C8
|
|
|
|
thumb_func_start MOD16_021DB42C
|
|
MOD16_021DB42C: ; 0x021DB42C
|
|
push {r3, lr}
|
|
sub sp, #0x10
|
|
ldr r0, [sp, #0x18]
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DB44C ; =0x00030201
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r1, #0
|
|
mov r1, #2
|
|
bl FUN_0201BDE0
|
|
add sp, #0x10
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021DB44C: .word 0x00030201
|
|
thumb_func_end MOD16_021DB42C
|
|
|
|
thumb_func_start MOD16_021DB450
|
|
MOD16_021DB450: ; 0x021DB450
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021DB45A
|
|
mov r0, #1
|
|
bx lr
|
|
_021DB45A:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB450
|
|
|
|
thumb_func_start MOD16_021DB460
|
|
MOD16_021DB460: ; 0x021DB460
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _021DB48C
|
|
add r4, r6, #0
|
|
_021DB46E:
|
|
ldr r0, [r5, #0xc]
|
|
add r0, r0, r4
|
|
bl MOD16_021DB450
|
|
cmp r0, #0
|
|
bne _021DB482
|
|
ldr r1, [r5, #0xc]
|
|
lsl r0, r6, #4
|
|
add r0, r1, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021DB482:
|
|
ldr r0, [r5, #0x10]
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, r0
|
|
blt _021DB46E
|
|
_021DB48C:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DB460
|
|
|
|
thumb_func_start MOD16_021DB490
|
|
MOD16_021DB490: ; 0x021DB490
|
|
push {r3, lr}
|
|
mov r1, #0x14
|
|
bl AllocFromHeap
|
|
add r3, r0, #0
|
|
mov r2, #0x14
|
|
mov r1, #0
|
|
_021DB49E:
|
|
strb r1, [r3]
|
|
add r3, r3, #1
|
|
sub r2, r2, #1
|
|
bne _021DB49E
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021DB490
|
|
|
|
thumb_func_start MOD16_021DB4A8
|
|
MOD16_021DB4A8: ; 0x021DB4A8
|
|
ldr r3, _021DB4AC ; =FreeToHeap
|
|
bx r3
|
|
.align 2, 0
|
|
_021DB4AC: .word FreeToHeap
|
|
thumb_func_end MOD16_021DB4A8
|
|
|
|
thumb_func_start MOD16_021DB4B0
|
|
MOD16_021DB4B0: ; 0x021DB4B0
|
|
push {r3, r4, r5, r6}
|
|
add r6, r0, #0
|
|
mov r5, #0x14
|
|
mov r4, #0
|
|
_021DB4B8:
|
|
strb r4, [r6]
|
|
add r6, r6, #1
|
|
sub r5, r5, #1
|
|
bne _021DB4B8
|
|
str r1, [r0]
|
|
str r2, [r0, #4]
|
|
str r3, [r0, #8]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB4B0
|
|
|
|
thumb_func_start MOD16_021DB4CC
|
|
MOD16_021DB4CC: ; 0x021DB4CC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
cmp r1, #4
|
|
bhi _021DB526
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DB4E2: ; jump table
|
|
.short _021DB4EC - _021DB4E2 - 2 ; case 0
|
|
.short _021DB4F4 - _021DB4E2 - 2 ; case 1
|
|
.short _021DB4FC - _021DB4E2 - 2 ; case 2
|
|
.short _021DB50E - _021DB4E2 - 2 ; case 3
|
|
.short _021DB520 - _021DB4E2 - 2 ; case 4
|
|
_021DB4EC:
|
|
add r1, r4, #0
|
|
bl MOD16_021DB68C
|
|
pop {r3, r4, r5, pc}
|
|
_021DB4F4:
|
|
add r1, r4, #0
|
|
bl MOD16_021DB6BC
|
|
pop {r3, r4, r5, pc}
|
|
_021DB4FC:
|
|
cmp r4, #0
|
|
blt _021DB506
|
|
ldr r0, [r5, #4]
|
|
cmp r4, r0
|
|
blt _021DB50A
|
|
_021DB506:
|
|
bl ErrorHandling
|
|
_021DB50A:
|
|
str r4, [r5, #0xc]
|
|
pop {r3, r4, r5, pc}
|
|
_021DB50E:
|
|
cmp r4, #0
|
|
blt _021DB518
|
|
ldr r0, [r5, #8]
|
|
cmp r4, r0
|
|
blt _021DB51C
|
|
_021DB518:
|
|
bl ErrorHandling
|
|
_021DB51C:
|
|
str r4, [r5, #0x10]
|
|
pop {r3, r4, r5, pc}
|
|
_021DB520:
|
|
add r1, r4, #0
|
|
bl MOD16_021DB6EC
|
|
_021DB526:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DB4CC
|
|
|
|
thumb_func_start MOD16_021DB528
|
|
MOD16_021DB528: ; 0x021DB528
|
|
ldr r2, [r0, #0x10]
|
|
ldr r1, [r0, #4]
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, [r0, #0xc]
|
|
add r2, r3, r1
|
|
ldr r1, [r0]
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end MOD16_021DB528
|
|
|
|
thumb_func_start MOD16_021DB540
|
|
MOD16_021DB540: ; 0x021DB540
|
|
push {r4, r5}
|
|
ldr r4, [r0, #0x10]
|
|
ldr r3, [r0, #4]
|
|
add r5, r4, #0
|
|
mul r5, r3
|
|
ldr r3, [r0, #0xc]
|
|
add r5, r5, r3
|
|
mov r3, #0x1c
|
|
add r4, r5, #0
|
|
mul r4, r3
|
|
ldr r3, [r0]
|
|
ldr r3, [r3, r4]
|
|
str r3, [r1]
|
|
ldr r0, [r0]
|
|
add r0, r0, r4
|
|
ldr r0, [r0, #4]
|
|
str r0, [r2]
|
|
pop {r4, r5}
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB540
|
|
|
|
thumb_func_start MOD16_021DB568
|
|
MOD16_021DB568: ; 0x021DB568
|
|
push {r4, r5}
|
|
ldr r4, [r0, #0x10]
|
|
ldr r3, [r0, #4]
|
|
add r5, r4, #0
|
|
mul r5, r3
|
|
ldr r3, [r0, #0xc]
|
|
add r5, r5, r3
|
|
mov r3, #0x1c
|
|
add r4, r5, #0
|
|
mul r4, r3
|
|
ldr r3, [r0]
|
|
add r3, r3, r4
|
|
ldr r3, [r3, #8]
|
|
str r3, [r1]
|
|
ldr r0, [r0]
|
|
add r0, r0, r4
|
|
ldr r0, [r0, #0xc]
|
|
str r0, [r2]
|
|
pop {r4, r5}
|
|
bx lr
|
|
thumb_func_end MOD16_021DB568
|
|
|
|
thumb_func_start MOD16_021DB590
|
|
MOD16_021DB590: ; 0x021DB590
|
|
str r1, [r0]
|
|
str r2, [r0, #4]
|
|
ldr r1, [sp]
|
|
str r3, [r0, #8]
|
|
str r1, [r0, #0xc]
|
|
ldr r1, [sp, #4]
|
|
str r1, [r0, #0x10]
|
|
ldr r1, [sp, #8]
|
|
str r1, [r0, #0x14]
|
|
ldr r1, [sp, #0xc]
|
|
str r1, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end MOD16_021DB590
|
|
|
|
thumb_func_start MOD16_021DB5A8
|
|
MOD16_021DB5A8: ; 0x021DB5A8
|
|
push {r3, r4, r5, r6}
|
|
ldr r4, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _021DB5B4
|
|
cmp r0, #2
|
|
bne _021DB5C0
|
|
_021DB5B4:
|
|
ldr r6, [sp, #0x14]
|
|
lsr r5, r6, #0x1f
|
|
add r5, r6, r5
|
|
asr r5, r5, #1
|
|
sub r3, r3, r5
|
|
b _021DB5CA
|
|
_021DB5C0:
|
|
ldr r6, [sp, #0x14]
|
|
lsr r5, r6, #0x1f
|
|
add r5, r6, r5
|
|
asr r5, r5, #1
|
|
add r3, r3, r5
|
|
_021DB5CA:
|
|
cmp r0, #1
|
|
bhi _021DB5DA
|
|
ldr r5, [sp, #0x18]
|
|
lsr r0, r5, #0x1f
|
|
add r0, r5, r0
|
|
asr r0, r0, #1
|
|
sub r4, r4, r0
|
|
b _021DB5E4
|
|
_021DB5DA:
|
|
ldr r5, [sp, #0x18]
|
|
lsr r0, r5, #0x1f
|
|
add r0, r5, r0
|
|
asr r0, r0, #1
|
|
add r4, r4, r0
|
|
_021DB5E4:
|
|
str r3, [r1]
|
|
str r4, [r2]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
thumb_func_end MOD16_021DB5A8
|
|
|
|
thumb_func_start MOD16_021DB5EC
|
|
MOD16_021DB5EC: ; 0x021DB5EC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021DB602
|
|
cmp r4, #1
|
|
beq _021DB602
|
|
bl ErrorHandling
|
|
_021DB602:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0x1c
|
|
_021DB606:
|
|
add r0, r0, r4
|
|
bmi _021DB626
|
|
ldr r2, [r5, #4]
|
|
cmp r0, r2
|
|
bge _021DB626
|
|
ldr r3, [r5, #0x10]
|
|
ldr r2, [r5, #4]
|
|
mul r2, r3
|
|
add r6, r2, r0
|
|
add r2, r6, #0
|
|
ldr r3, [r5]
|
|
mul r2, r1
|
|
add r6, r3, r2
|
|
ldr r2, [r6, #0x10]
|
|
cmp r2, #2
|
|
beq _021DB606
|
|
_021DB626:
|
|
cmp r0, #0
|
|
blt _021DB638
|
|
ldr r1, [r5, #4]
|
|
cmp r0, r1
|
|
bge _021DB638
|
|
ldr r1, [r6, #0x10]
|
|
cmp r1, #0
|
|
bne _021DB638
|
|
str r0, [r5, #0xc]
|
|
_021DB638:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB5EC
|
|
|
|
thumb_func_start MOD16_021DB63C
|
|
MOD16_021DB63C: ; 0x021DB63C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021DB652
|
|
cmp r4, #1
|
|
beq _021DB652
|
|
bl ErrorHandling
|
|
_021DB652:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x1c
|
|
_021DB656:
|
|
add r0, r0, r4
|
|
bmi _021DB678
|
|
ldr r2, [r5, #8]
|
|
cmp r0, r2
|
|
bge _021DB678
|
|
ldr r2, [r5, #4]
|
|
add r3, r0, #0
|
|
mul r3, r2
|
|
ldr r2, [r5, #0xc]
|
|
add r6, r3, r2
|
|
add r2, r6, #0
|
|
ldr r3, [r5]
|
|
mul r2, r1
|
|
add r6, r3, r2
|
|
ldr r2, [r6, #0x14]
|
|
cmp r2, #2
|
|
beq _021DB656
|
|
_021DB678:
|
|
cmp r0, #0
|
|
blt _021DB68A
|
|
ldr r1, [r5, #8]
|
|
cmp r0, r1
|
|
bge _021DB68A
|
|
ldr r1, [r6, #0x10]
|
|
cmp r1, #0
|
|
bne _021DB68A
|
|
str r0, [r5, #0x10]
|
|
_021DB68A:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DB63C
|
|
|
|
thumb_func_start MOD16_021DB68C
|
|
MOD16_021DB68C: ; 0x021DB68C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
cmp r1, #0
|
|
bge _021DB698
|
|
neg r5, r1
|
|
b _021DB69A
|
|
_021DB698:
|
|
add r5, r1, #0
|
|
_021DB69A:
|
|
add r0, r1, #0
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
cmp r5, #0
|
|
ble _021DB6B8
|
|
_021DB6AA:
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DB5EC
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _021DB6AA
|
|
_021DB6B8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB68C
|
|
|
|
thumb_func_start MOD16_021DB6BC
|
|
MOD16_021DB6BC: ; 0x021DB6BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
cmp r1, #0
|
|
bge _021DB6C8
|
|
neg r5, r1
|
|
b _021DB6CA
|
|
_021DB6C8:
|
|
add r5, r1, #0
|
|
_021DB6CA:
|
|
add r0, r1, #0
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
cmp r5, #0
|
|
ble _021DB6E8
|
|
_021DB6DA:
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DB63C
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _021DB6DA
|
|
_021DB6E8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB6BC
|
|
|
|
thumb_func_start MOD16_021DB6EC
|
|
MOD16_021DB6EC: ; 0x021DB6EC
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
ldr r2, [r4, #4]
|
|
ldr r0, [r4, #8]
|
|
add r3, r2, #0
|
|
mul r3, r0
|
|
mov r5, #0
|
|
cmp r3, #0
|
|
ble _021DB724
|
|
ldr r6, [r4]
|
|
_021DB700:
|
|
ldr r0, [r6, #0x18]
|
|
cmp r1, r0
|
|
bne _021DB71C
|
|
add r0, r5, #0
|
|
add r1, r2, #0
|
|
bl _s32_div_f
|
|
str r1, [r4, #0xc]
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, #0
|
|
bl _s32_div_f
|
|
str r0, [r4, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
_021DB71C:
|
|
add r5, r5, #1
|
|
add r6, #0x1c
|
|
cmp r5, r3
|
|
blt _021DB700
|
|
_021DB724:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB6EC
|
|
|
|
thumb_func_start MOD16_021DB728
|
|
MOD16_021DB728: ; 0x021DB728
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x5c]
|
|
str r2, [sp, #0x18]
|
|
str r1, [sp, #0x14]
|
|
str r0, [sp, #0x5c]
|
|
mov r0, #0
|
|
str r3, [sp, #0x1c]
|
|
add r1, sp, #0x48
|
|
str r0, [sp, #0x38]
|
|
ldrb r0, [r1, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
ble _021DB7BC
|
|
ldr r0, [sp, #0x38]
|
|
ldrb r6, [r1, #0x10]
|
|
str r0, [sp, #0x34]
|
|
str r0, [sp, #0x30]
|
|
ldrh r0, [r1, #0x24]
|
|
str r0, [sp, #0x2c]
|
|
ldrh r0, [r1, #0x20]
|
|
str r0, [sp, #0x28]
|
|
ldrb r0, [r1, #0x18]
|
|
str r0, [sp, #0x24]
|
|
_021DB75A:
|
|
ldr r0, [sp, #0x24]
|
|
mov r7, #0
|
|
cmp r0, #0
|
|
ble _021DB7A2
|
|
ldr r1, [sp, #0x5c]
|
|
ldr r0, [sp, #0x30]
|
|
add r4, r7, #0
|
|
add r5, r1, r0
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r0, [sp, #0x34]
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x3c]
|
|
_021DB776:
|
|
str r6, [sp]
|
|
ldrb r0, [r5]
|
|
ldr r1, [sp, #0x14]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x3c]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
bl MOD16_021DB7F4
|
|
ldr r0, [sp, #0x24]
|
|
add r7, r7, #1
|
|
add r4, r4, r6
|
|
add r5, r5, #1
|
|
cmp r7, r0
|
|
blt _021DB776
|
|
_021DB7A2:
|
|
ldr r0, [sp, #0x34]
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r0, r6
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x38]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x20]
|
|
str r1, [sp, #0x38]
|
|
cmp r1, r0
|
|
blt _021DB75A
|
|
_021DB7BC:
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DB728
|
|
|
|
thumb_func_start MOD16_021DB7C0
|
|
MOD16_021DB7C0: ; 0x021DB7C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r2, #0
|
|
str r0, [sp, #4]
|
|
add r5, r1, #0
|
|
mov r6, #0
|
|
cmp r7, #0
|
|
ble _021DB7F0
|
|
_021DB7D0:
|
|
mov r4, #0
|
|
cmp r5, #0
|
|
ble _021DB7EA
|
|
_021DB7D6:
|
|
ldr r0, [sp, #4]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r5, #0
|
|
str r7, [sp]
|
|
bl MOD16_021DB84C
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _021DB7D6
|
|
_021DB7EA:
|
|
add r6, r6, #1
|
|
cmp r6, r7
|
|
blt _021DB7D0
|
|
_021DB7F0:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DB7C0
|
|
|
|
thumb_func_start MOD16_021DB7F4
|
|
MOD16_021DB7F4: ; 0x021DB7F4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [sp, #0x3c]
|
|
str r0, [sp, #0x18]
|
|
add r5, r2, #0
|
|
add r6, r3, #0
|
|
cmp r1, #0
|
|
beq _021DB848
|
|
ldr r0, [sp, #0x38]
|
|
add r4, r1, #0
|
|
mul r4, r0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
str r5, [sp]
|
|
add r4, r1, #0
|
|
str r6, [sp, #4]
|
|
add r0, sp, #0x28
|
|
ldrb r1, [r0, #0x18]
|
|
lsl r2, r4, #0x10
|
|
lsl r3, r7, #0x10
|
|
str r1, [sp, #8]
|
|
ldrb r0, [r0, #0x1c]
|
|
ldr r1, [sp, #0x1c]
|
|
lsr r2, r2, #0x10
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x38]
|
|
lsr r3, r3, #0x10
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02019658
|
|
_021DB848:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DB7F4
|
|
|
|
thumb_func_start MOD16_021DB84C
|
|
MOD16_021DB84C: ; 0x021DB84C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r2, #0
|
|
add r6, r1, #0
|
|
add r1, r7, #0
|
|
mul r1, r3
|
|
add r4, r0, #0
|
|
add r5, r6, r1
|
|
ldrb r1, [r4, r5]
|
|
cmp r1, #0
|
|
bne _021DB87A
|
|
ldr r1, [sp, #0x20]
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
add r1, sp, #8
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021DB8B0
|
|
ldr r0, [sp, #8]
|
|
bl MOD16_021DB9D0
|
|
strb r0, [r4, r5]
|
|
_021DB87A:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB84C
|
|
|
|
thumb_func_start MOD16_021DB880
|
|
MOD16_021DB880: ; 0x021DB880
|
|
push {r3, r4}
|
|
cmp r1, #0
|
|
blt _021DB88A
|
|
cmp r1, r3
|
|
blt _021DB892
|
|
_021DB88A:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021DB892:
|
|
cmp r2, #0
|
|
blt _021DB89C
|
|
ldr r4, [sp, #8]
|
|
cmp r2, r4
|
|
blt _021DB8A4
|
|
_021DB89C:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021DB8A4:
|
|
mul r3, r2
|
|
add r1, r1, r3
|
|
ldrb r0, [r0, r1]
|
|
pop {r3, r4}
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DB880
|
|
|
|
thumb_func_start MOD16_021DB8B0
|
|
MOD16_021DB8B0: ; 0x021DB8B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
ldr r1, [sp, #0x20]
|
|
add r6, r2, #0
|
|
str r1, [sp, #0x20]
|
|
add r7, r3, #0
|
|
mov r1, #0
|
|
str r1, [r5]
|
|
ldr r4, [sp, #0x24]
|
|
ldr r3, [sp, #0x20]
|
|
add r1, r6, #0
|
|
sub r2, r7, #1
|
|
str r0, [sp, #4]
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB8DE
|
|
ldr r1, [r5]
|
|
mov r0, #1
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB8DE:
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r1, r6, #0
|
|
add r2, r7, #1
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB8F8
|
|
ldr r1, [r5]
|
|
mov r0, #2
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB8F8:
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
sub r1, r6, #1
|
|
add r2, r7, #0
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB912
|
|
ldr r1, [r5]
|
|
mov r0, #4
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB912:
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r1, r6, #1
|
|
add r2, r7, #0
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB92C
|
|
ldr r1, [r5]
|
|
mov r0, #8
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB92C:
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
tst r1, r0
|
|
bne _021DB954
|
|
mov r1, #4
|
|
tst r0, r1
|
|
bne _021DB954
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
sub r1, r6, #1
|
|
sub r2, r7, #1
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB954
|
|
ldr r1, [r5]
|
|
mov r0, #0x10
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB954:
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
tst r1, r0
|
|
bne _021DB97C
|
|
mov r1, #8
|
|
tst r0, r1
|
|
bne _021DB97C
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r1, r6, #1
|
|
sub r2, r7, #1
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB97C
|
|
ldr r1, [r5]
|
|
mov r0, #0x20
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB97C:
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
tst r1, r0
|
|
bne _021DB9A4
|
|
mov r1, #4
|
|
tst r0, r1
|
|
bne _021DB9A4
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
sub r1, r6, #1
|
|
add r2, r7, #1
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB9A4
|
|
ldr r1, [r5]
|
|
mov r0, #0x40
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB9A4:
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
tst r1, r0
|
|
bne _021DB9CC
|
|
mov r1, #8
|
|
tst r0, r1
|
|
bne _021DB9CC
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r1, r6, #1
|
|
add r2, r7, #1
|
|
str r4, [sp]
|
|
bl MOD16_021DB880
|
|
cmp r0, #1
|
|
bne _021DB9CC
|
|
ldr r1, [r5]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
_021DB9CC:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DB8B0
|
|
|
|
thumb_func_start MOD16_021DB9D0
|
|
MOD16_021DB9D0: ; 0x021DB9D0
|
|
push {r4, lr}
|
|
cmp r0, #0x84
|
|
bgt _021DBAA6
|
|
blt _021DB9DA
|
|
b _021DBB98
|
|
_021DB9DA:
|
|
cmp r0, #0x58
|
|
bgt _021DBA8C
|
|
blt _021DB9E2
|
|
b _021DBB70
|
|
_021DB9E2:
|
|
cmp r0, #0x48
|
|
bgt _021DBA7E
|
|
blt _021DB9EA
|
|
b _021DBBA0
|
|
_021DB9EA:
|
|
cmp r0, #0x41
|
|
bhi _021DBA84
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DB9FA: ; jump table
|
|
.short _021DBAE8 - _021DB9FA - 2 ; case 0
|
|
.short _021DBAEC - _021DB9FA - 2 ; case 1
|
|
.short _021DBAF0 - _021DB9FA - 2 ; case 2
|
|
.short _021DBAFC - _021DB9FA - 2 ; case 3
|
|
.short _021DBAF4 - _021DB9FA - 2 ; case 4
|
|
.short _021DBB00 - _021DB9FA - 2 ; case 5
|
|
.short _021DBB08 - _021DB9FA - 2 ; case 6
|
|
.short _021DBB14 - _021DB9FA - 2 ; case 7
|
|
.short _021DBAF8 - _021DB9FA - 2 ; case 8
|
|
.short _021DBB04 - _021DB9FA - 2 ; case 9
|
|
.short _021DBB0C - _021DB9FA - 2 ; case 10
|
|
.short _021DBB18 - _021DB9FA - 2 ; case 11
|
|
.short _021DBB10 - _021DB9FA - 2 ; case 12
|
|
.short _021DBB1C - _021DB9FA - 2 ; case 13
|
|
.short _021DBB20 - _021DB9FA - 2 ; case 14
|
|
.short _021DBB24 - _021DB9FA - 2 ; case 15
|
|
.short _021DBB28 - _021DB9FA - 2 ; case 16
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 17
|
|
.short _021DBB8C - _021DB9FA - 2 ; case 18
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 19
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 20
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 21
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 22
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 23
|
|
.short _021DBB9C - _021DB9FA - 2 ; case 24
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 25
|
|
.short _021DBB80 - _021DB9FA - 2 ; case 26
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 27
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 28
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 29
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 30
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 31
|
|
.short _021DBB2C - _021DB9FA - 2 ; case 32
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 33
|
|
.short _021DBB90 - _021DB9FA - 2 ; case 34
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 35
|
|
.short _021DBB94 - _021DB9FA - 2 ; case 36
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 37
|
|
.short _021DBB7C - _021DB9FA - 2 ; case 38
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 39
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 40
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 41
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 42
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 43
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 44
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 45
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 46
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 47
|
|
.short _021DBB38 - _021DB9FA - 2 ; case 48
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 49
|
|
.short _021DBB68 - _021DB9FA - 2 ; case 50
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 51
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 52
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 53
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 54
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 55
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 56
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 57
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 58
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 59
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 60
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 61
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 62
|
|
.short _021DBBA4 - _021DB9FA - 2 ; case 63
|
|
.short _021DBB30 - _021DB9FA - 2 ; case 64
|
|
.short _021DBB84 - _021DB9FA - 2 ; case 65
|
|
_021DBA7E:
|
|
cmp r0, #0x49
|
|
bgt _021DBA86
|
|
beq _021DBB78
|
|
_021DBA84:
|
|
b _021DBBA4
|
|
_021DBA86:
|
|
cmp r0, #0x50
|
|
beq _021DBB3C
|
|
b _021DBBA4
|
|
_021DBA8C:
|
|
cmp r0, #0x70
|
|
bgt _021DBA98
|
|
bge _021DBB50
|
|
cmp r0, #0x60
|
|
beq _021DBB44
|
|
b _021DBBA4
|
|
_021DBA98:
|
|
cmp r0, #0x80
|
|
bgt _021DBAA0
|
|
beq _021DBB34
|
|
b _021DBBA4
|
|
_021DBAA0:
|
|
cmp r0, #0x81
|
|
beq _021DBB88
|
|
b _021DBBA4
|
|
_021DBAA6:
|
|
cmp r0, #0xb0
|
|
bgt _021DBAC6
|
|
bge _021DBB54
|
|
cmp r0, #0x90
|
|
bgt _021DBAB8
|
|
bge _021DBB40
|
|
cmp r0, #0x85
|
|
beq _021DBB74
|
|
b _021DBBA4
|
|
_021DBAB8:
|
|
cmp r0, #0xa0
|
|
bgt _021DBAC0
|
|
beq _021DBB48
|
|
b _021DBBA4
|
|
_021DBAC0:
|
|
cmp r0, #0xa4
|
|
beq _021DBB6C
|
|
b _021DBBA4
|
|
_021DBAC6:
|
|
cmp r0, #0xd0
|
|
bgt _021DBADA
|
|
bge _021DBB58
|
|
cmp r0, #0xc0
|
|
bgt _021DBAD4
|
|
beq _021DBB4C
|
|
b _021DBBA4
|
|
_021DBAD4:
|
|
cmp r0, #0xc1
|
|
beq _021DBB64
|
|
b _021DBBA4
|
|
_021DBADA:
|
|
cmp r0, #0xe0
|
|
bgt _021DBAE2
|
|
beq _021DBB5C
|
|
b _021DBBA4
|
|
_021DBAE2:
|
|
cmp r0, #0xf0
|
|
beq _021DBB60
|
|
b _021DBBA4
|
|
_021DBAE8:
|
|
mov r4, #0
|
|
b _021DBBA8
|
|
_021DBAEC:
|
|
mov r4, #2
|
|
b _021DBBA8
|
|
_021DBAF0:
|
|
mov r4, #3
|
|
b _021DBBA8
|
|
_021DBAF4:
|
|
mov r4, #4
|
|
b _021DBBA8
|
|
_021DBAF8:
|
|
mov r4, #5
|
|
b _021DBBA8
|
|
_021DBAFC:
|
|
mov r4, #6
|
|
b _021DBBA8
|
|
_021DBB00:
|
|
mov r4, #7
|
|
b _021DBBA8
|
|
_021DBB04:
|
|
mov r4, #8
|
|
b _021DBBA8
|
|
_021DBB08:
|
|
mov r4, #9
|
|
b _021DBBA8
|
|
_021DBB0C:
|
|
mov r4, #0xa
|
|
b _021DBBA8
|
|
_021DBB10:
|
|
mov r4, #0xb
|
|
b _021DBBA8
|
|
_021DBB14:
|
|
mov r4, #0xc
|
|
b _021DBBA8
|
|
_021DBB18:
|
|
mov r4, #0xd
|
|
b _021DBBA8
|
|
_021DBB1C:
|
|
mov r4, #0xe
|
|
b _021DBBA8
|
|
_021DBB20:
|
|
mov r4, #0xf
|
|
b _021DBBA8
|
|
_021DBB24:
|
|
mov r4, #0x10
|
|
b _021DBBA8
|
|
_021DBB28:
|
|
mov r4, #0x11
|
|
b _021DBBA8
|
|
_021DBB2C:
|
|
mov r4, #0x12
|
|
b _021DBBA8
|
|
_021DBB30:
|
|
mov r4, #0x13
|
|
b _021DBBA8
|
|
_021DBB34:
|
|
mov r4, #0x14
|
|
b _021DBBA8
|
|
_021DBB38:
|
|
mov r4, #0x15
|
|
b _021DBBA8
|
|
_021DBB3C:
|
|
mov r4, #0x16
|
|
b _021DBBA8
|
|
_021DBB40:
|
|
mov r4, #0x17
|
|
b _021DBBA8
|
|
_021DBB44:
|
|
mov r4, #0x18
|
|
b _021DBBA8
|
|
_021DBB48:
|
|
mov r4, #0x19
|
|
b _021DBBA8
|
|
_021DBB4C:
|
|
mov r4, #0x1a
|
|
b _021DBBA8
|
|
_021DBB50:
|
|
mov r4, #0x1b
|
|
b _021DBBA8
|
|
_021DBB54:
|
|
mov r4, #0x1c
|
|
b _021DBBA8
|
|
_021DBB58:
|
|
mov r4, #0x1d
|
|
b _021DBBA8
|
|
_021DBB5C:
|
|
mov r4, #0x1e
|
|
b _021DBBA8
|
|
_021DBB60:
|
|
mov r4, #0x1f
|
|
b _021DBBA8
|
|
_021DBB64:
|
|
mov r4, #0x20
|
|
b _021DBBA8
|
|
_021DBB68:
|
|
mov r4, #0x21
|
|
b _021DBBA8
|
|
_021DBB6C:
|
|
mov r4, #0x22
|
|
b _021DBBA8
|
|
_021DBB70:
|
|
mov r4, #0x23
|
|
b _021DBBA8
|
|
_021DBB74:
|
|
mov r4, #0x24
|
|
b _021DBBA8
|
|
_021DBB78:
|
|
mov r4, #0x25
|
|
b _021DBBA8
|
|
_021DBB7C:
|
|
mov r4, #0x26
|
|
b _021DBBA8
|
|
_021DBB80:
|
|
mov r4, #0x27
|
|
b _021DBBA8
|
|
_021DBB84:
|
|
mov r4, #0x28
|
|
b _021DBBA8
|
|
_021DBB88:
|
|
mov r4, #0x29
|
|
b _021DBBA8
|
|
_021DBB8C:
|
|
mov r4, #0x2a
|
|
b _021DBBA8
|
|
_021DBB90:
|
|
mov r4, #0x2b
|
|
b _021DBBA8
|
|
_021DBB94:
|
|
mov r4, #0x2c
|
|
b _021DBBA8
|
|
_021DBB98:
|
|
mov r4, #0x2d
|
|
b _021DBBA8
|
|
_021DBB9C:
|
|
mov r4, #0x2e
|
|
b _021DBBA8
|
|
_021DBBA0:
|
|
mov r4, #0x2f
|
|
b _021DBBA8
|
|
_021DBBA4:
|
|
bl ErrorHandling
|
|
_021DBBA8:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DB9D0
|
|
|
|
thumb_func_start MOD16_021DBBAC
|
|
MOD16_021DBBAC: ; 0x021DBBAC
|
|
ldr r3, _021DBBB0 ; =FUN_02021A20
|
|
bx r3
|
|
.align 2, 0
|
|
_021DBBB0: .word FUN_02021A20
|
|
thumb_func_end MOD16_021DBBAC
|
|
|
|
thumb_func_start MOD16_021DBBB4
|
|
MOD16_021DBBB4: ; 0x021DBBB4
|
|
add r1, r0, #1
|
|
ldr r0, _021DBBC0 ; =0x021FF568
|
|
ldr r3, _021DBBC4 ; =FUN_02087A38
|
|
ldrb r0, [r0, r1]
|
|
bx r3
|
|
nop
|
|
_021DBBC0: .word 0x021FF568
|
|
_021DBBC4: .word FUN_02087A38
|
|
thumb_func_end MOD16_021DBBB4
|
|
|
|
thumb_func_start MOD16_021DBBC8
|
|
MOD16_021DBBC8: ; 0x021DBBC8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r2, #0
|
|
add r2, sp, #4
|
|
str r2, [sp]
|
|
add r2, sp, #0xc
|
|
add r3, sp, #8
|
|
add r5, r0, #0
|
|
bl MOD16_021DBCE0
|
|
ldr r2, [sp, #4]
|
|
cmp r2, #6
|
|
bne _021DBBEE
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl FUN_0200AA50
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_021DBBEE:
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, #6
|
|
mul r0, r1
|
|
add r1, r2, r0
|
|
ldr r0, _021DBC04 ; =0x0000026E
|
|
add r2, r4, #0
|
|
str r1, [sp, #4]
|
|
bl MOD16_021DBCA0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021DBC04: .word 0x0000026E
|
|
thumb_func_end MOD16_021DBBC8
|
|
|
|
thumb_func_start MOD16_021DBC08
|
|
MOD16_021DBC08: ; 0x021DBC08
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r2, #0
|
|
add r2, sp, #4
|
|
str r2, [sp]
|
|
add r2, sp, #0xc
|
|
add r3, sp, #8
|
|
add r5, r0, #0
|
|
bl MOD16_021DBCE0
|
|
ldr r2, [sp, #4]
|
|
cmp r2, #6
|
|
bne _021DBC28
|
|
str r5, [sp, #4]
|
|
ldr r0, _021DBC40 ; =0x0000026D
|
|
b _021DBC34
|
|
_021DBC28:
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, #6
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DBC44 ; =0x0000026F
|
|
_021DBC34:
|
|
ldr r1, [sp, #4]
|
|
add r2, r4, #0
|
|
bl MOD16_021DBCA0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021DBC40: .word 0x0000026D
|
|
_021DBC44: .word 0x0000026F
|
|
thumb_func_end MOD16_021DBC08
|
|
|
|
thumb_func_start MOD16_021DBC48
|
|
MOD16_021DBC48: ; 0x021DBC48
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r2, #0
|
|
add r2, sp, #4
|
|
add r6, r3, #0
|
|
str r2, [sp]
|
|
add r2, sp, #0xc
|
|
add r3, sp, #8
|
|
add r5, r0, #0
|
|
bl MOD16_021DBCE0
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #6
|
|
bne _021DBC74
|
|
cmp r4, #1
|
|
blt _021DBC6C
|
|
bl ErrorHandling
|
|
_021DBC6C:
|
|
add r0, r5, r4
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DBC98 ; =0x00000267
|
|
b _021DBC8C
|
|
_021DBC74:
|
|
cmp r4, #1
|
|
blt _021DBC7C
|
|
bl ErrorHandling
|
|
_021DBC7C:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0xc]
|
|
add r2, r0, r4
|
|
mov r0, #6
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DBC9C ; =0x00000269
|
|
_021DBC8C:
|
|
ldr r1, [sp, #4]
|
|
add r2, r6, #0
|
|
bl MOD16_021DBCA0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DBC98: .word 0x00000267
|
|
_021DBC9C: .word 0x00000269
|
|
thumb_func_end MOD16_021DBC48
|
|
|
|
thumb_func_start MOD16_021DBCA0
|
|
MOD16_021DBCA0: ; 0x021DBCA0
|
|
push {r4, r5, r6, lr}
|
|
add r3, r0, #0
|
|
add r5, r2, #0
|
|
add r6, r1, #0
|
|
add r2, r3, #0
|
|
mov r0, #1
|
|
mov r1, #0x1a
|
|
add r3, r5, #0
|
|
bl FUN_0200A86C
|
|
add r4, r0, #0
|
|
beq _021DBCDA
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
add r1, r5, #0
|
|
bl FUN_020219F4
|
|
add r5, r0, #0
|
|
beq _021DBCD0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl FUN_0200A8E0
|
|
_021DBCD0:
|
|
add r0, r4, #0
|
|
bl FUN_0200A8B8
|
|
add r0, r5, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021DBCDA:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBCA0
|
|
|
|
thumb_func_start MOD16_021DBCE0
|
|
MOD16_021DBCE0: ; 0x021DBCE0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r2, #0
|
|
add r5, r3, #0
|
|
ldr r6, [sp, #0x18]
|
|
bl FUN_02087A1C
|
|
str r0, [r5]
|
|
cmp r0, #6
|
|
blt _021DBCFA
|
|
bl ErrorHandling
|
|
_021DBCFA:
|
|
add r0, r7, #0
|
|
bl FUN_02087A50
|
|
str r0, [r4]
|
|
ldr r5, [r5]
|
|
cmp r5, #6
|
|
blt _021DBD0C
|
|
bl ErrorHandling
|
|
_021DBD0C:
|
|
cmp r5, #1
|
|
bne _021DBD12
|
|
mov r5, #6
|
|
_021DBD12:
|
|
str r5, [r6]
|
|
ldr r0, [r4]
|
|
cmp r0, #0xe
|
|
bne _021DBD22
|
|
cmp r5, #6
|
|
beq _021DBD22
|
|
mov r0, #0
|
|
b _021DBD24
|
|
_021DBD22:
|
|
mov r0, #1
|
|
_021DBD24:
|
|
cmp r0, #0
|
|
bne _021DBD2C
|
|
bl ErrorHandling
|
|
_021DBD2C:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBCE0
|
|
|
|
thumb_func_start MOD16_021DBD30
|
|
MOD16_021DBD30: ; 0x021DBD30
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
cmp r2, #9
|
|
bhi _021DBD82
|
|
add r0, r2, r2
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DBD46: ; jump table
|
|
.short _021DBD5A - _021DBD46 - 2 ; case 0
|
|
.short _021DBD5E - _021DBD46 - 2 ; case 1
|
|
.short _021DBD62 - _021DBD46 - 2 ; case 2
|
|
.short _021DBD66 - _021DBD46 - 2 ; case 3
|
|
.short _021DBD6A - _021DBD46 - 2 ; case 4
|
|
.short _021DBD70 - _021DBD46 - 2 ; case 5
|
|
.short _021DBD74 - _021DBD46 - 2 ; case 6
|
|
.short _021DBD78 - _021DBD46 - 2 ; case 7
|
|
.short _021DBD7C - _021DBD46 - 2 ; case 8
|
|
.short _021DBD80 - _021DBD46 - 2 ; case 9
|
|
_021DBD5A:
|
|
mov r5, #4
|
|
b _021DBD82
|
|
_021DBD5E:
|
|
ldr r5, _021DBDA0 ; =0x000001F3
|
|
b _021DBD82
|
|
_021DBD62:
|
|
ldr r5, _021DBDA4 ; =0x000003E2
|
|
b _021DBD82
|
|
_021DBD66:
|
|
ldr r5, _021DBDA8 ; =0x000005D1
|
|
b _021DBD82
|
|
_021DBD6A:
|
|
mov r5, #0x1f
|
|
lsl r5, r5, #6
|
|
b _021DBD82
|
|
_021DBD70:
|
|
ldr r5, _021DBDAC ; =0x000009AF
|
|
b _021DBD82
|
|
_021DBD74:
|
|
ldr r5, _021DBDB0 ; =0x00000B9E
|
|
b _021DBD82
|
|
_021DBD78:
|
|
ldr r5, _021DBDB4 ; =0x00000D8D
|
|
b _021DBD82
|
|
_021DBD7C:
|
|
ldr r5, _021DBDB8 ; =0x00000F7C
|
|
b _021DBD82
|
|
_021DBD80:
|
|
ldr r5, _021DBDBC ; =0x0000116B
|
|
_021DBD82:
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x8b
|
|
add r1, r5, r1
|
|
bl FUN_02006D18
|
|
str r0, [r4]
|
|
ldr r0, [sp, #8]
|
|
lsr r0, r0, #2
|
|
str r0, [r4, #4]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021DBDA0: .word 0x000001F3
|
|
_021DBDA4: .word 0x000003E2
|
|
_021DBDA8: .word 0x000005D1
|
|
_021DBDAC: .word 0x000009AF
|
|
_021DBDB0: .word 0x00000B9E
|
|
_021DBDB4: .word 0x00000D8D
|
|
_021DBDB8: .word 0x00000F7C
|
|
_021DBDBC: .word 0x0000116B
|
|
thumb_func_end MOD16_021DBD30
|
|
|
|
thumb_func_start MOD16_021DBDC0
|
|
MOD16_021DBDC0: ; 0x021DBDC0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DBDCA
|
|
bl ErrorHandling
|
|
_021DBDCA:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _021DBDD4
|
|
bl ErrorHandling
|
|
_021DBDD4:
|
|
ldr r0, [r4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBDC0
|
|
|
|
thumb_func_start MOD16_021DBDE4
|
|
MOD16_021DBDE4: ; 0x021DBDE4
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
add r3, r0, #0
|
|
str r1, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x8b
|
|
add r2, r1, #0
|
|
bl FUN_02006D18
|
|
cmp r4, #0
|
|
beq _021DBE06
|
|
ldr r1, [sp, #8]
|
|
lsr r1, r1, #2
|
|
str r1, [r4]
|
|
_021DBE06:
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBDE4
|
|
|
|
thumb_func_start MOD16_021DBE0C
|
|
MOD16_021DBE0C: ; 0x021DBE0C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
mov r2, #0
|
|
add r3, r0, #0
|
|
add r4, r1, #0
|
|
str r2, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x8b
|
|
mov r1, #2
|
|
bl FUN_02006D18
|
|
add r5, r0, #0
|
|
cmp r4, #0
|
|
beq _021DBE34
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0x24
|
|
bl _u32_div_f
|
|
str r0, [r4]
|
|
_021DBE34:
|
|
add r0, r5, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBE0C
|
|
|
|
thumb_func_start MOD16_021DBE3C
|
|
MOD16_021DBE3C: ; 0x021DBE3C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r1, [sp, #4]
|
|
add r4, r3, #0
|
|
str r0, [sp]
|
|
ldrb r1, [r4, #1]
|
|
ldrb r0, [r4, #3]
|
|
add r0, r1, r0
|
|
cmp r0, r2
|
|
blt _021DBE54
|
|
bl ErrorHandling
|
|
_021DBE54:
|
|
ldrb r1, [r4]
|
|
ldrb r0, [r4, #2]
|
|
add r1, r1, r0
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
blt _021DBE64
|
|
bl ErrorHandling
|
|
_021DBE64:
|
|
ldrb r7, [r4, #1]
|
|
ldrb r0, [r4, #3]
|
|
add r0, r7, r0
|
|
cmp r7, r0
|
|
bge _021DBEBE
|
|
ldr r0, [sp, #4]
|
|
mul r0, r7
|
|
mov ip, r0
|
|
_021DBE74:
|
|
ldrb r5, [r4]
|
|
ldrb r3, [r4, #2]
|
|
add r1, r5, #0
|
|
add r0, r5, r3
|
|
cmp r5, r0
|
|
bge _021DBEAA
|
|
ldr r2, [sp]
|
|
mov r0, ip
|
|
add r0, r2, r0
|
|
add r2, r0, r5
|
|
_021DBE88:
|
|
sub r6, r1, r5
|
|
ldrb r5, [r4, #1]
|
|
ldrb r0, [r2]
|
|
add r1, r1, #1
|
|
sub r5, r7, r5
|
|
mul r5, r3
|
|
add r3, r4, r6
|
|
add r3, r5, r3
|
|
ldrb r3, [r3, #4]
|
|
orr r0, r3
|
|
strb r0, [r2]
|
|
ldrb r3, [r4, #2]
|
|
ldrb r5, [r4]
|
|
add r2, r2, #1
|
|
add r0, r5, r3
|
|
cmp r1, r0
|
|
blt _021DBE88
|
|
_021DBEAA:
|
|
ldr r0, [sp, #4]
|
|
mov r1, ip
|
|
add r0, r1, r0
|
|
mov ip, r0
|
|
ldrb r1, [r4, #1]
|
|
ldrb r0, [r4, #3]
|
|
add r7, r7, #1
|
|
add r0, r1, r0
|
|
cmp r7, r0
|
|
blt _021DBE74
|
|
_021DBEBE:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBE3C
|
|
|
|
thumb_func_start MOD16_021DBEC4
|
|
MOD16_021DBEC4: ; 0x021DBEC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
str r3, [sp, #4]
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r5, [sp, #0x34]
|
|
ldr r0, [r0, #4]
|
|
ldr r4, [sp, #0x38]
|
|
sub r0, r0, #1
|
|
cmp r0, #0
|
|
ble _021DBF4E
|
|
lsl r0, r1, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x10]
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r7, [sp, #8]
|
|
str r0, [sp, #0x14]
|
|
_021DBEF2:
|
|
ldr r0, [sp, #0x30]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, r7]
|
|
cmp r0, #0
|
|
bne _021DBF00
|
|
bl ErrorHandling
|
|
_021DBF00:
|
|
mov r1, #0
|
|
cmp r4, #0
|
|
bls _021DBF18
|
|
ldr r0, [sp, #0x30]
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, r7]
|
|
_021DBF0C:
|
|
ldrb r0, [r5, r1]
|
|
cmp r2, r0
|
|
beq _021DBF18
|
|
add r1, r1, #1
|
|
cmp r1, r4
|
|
blo _021DBF0C
|
|
_021DBF18:
|
|
cmp r1, r4
|
|
blo _021DBF3A
|
|
ldr r3, [sp, #0x30]
|
|
mov r6, #0x24
|
|
ldr r3, [r3]
|
|
ldr r0, [sp]
|
|
ldr r3, [r3, r7]
|
|
ldr r1, [sp, #0x10]
|
|
mul r6, r3
|
|
ldr r3, [sp, #4]
|
|
ldr r2, [sp, #0x14]
|
|
add r3, r3, r6
|
|
bl MOD16_021DBE3C
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
_021DBF3A:
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r7, #4
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r0, [r0, #4]
|
|
sub r1, r0, #1
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r1
|
|
blt _021DBEF2
|
|
_021DBF4E:
|
|
ldr r0, [sp, #8]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DBEC4
|
|
|
|
thumb_func_start MOD16_021DBF54
|
|
MOD16_021DBF54: ; 0x021DBF54
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
ldr r4, [sp, #0x24]
|
|
add r5, r0, #0
|
|
ldrb r6, [r4]
|
|
mul r3, r6
|
|
add r1, r1, r3
|
|
str r1, [sp]
|
|
ldrb r6, [r4, #1]
|
|
ldr r3, [sp, #0x20]
|
|
lsl r1, r1, #0xc
|
|
mul r3, r6
|
|
add r2, r2, r3
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
lsl r1, r2, #0xc
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _021DBF8E
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r5, #0
|
|
bl FUN_02020130
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021DBF8E:
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r5, #0
|
|
bl FUN_02020130
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DBF54
|
|
|
|
thumb_func_start MOD16_021DBF9C
|
|
MOD16_021DBF9C: ; 0x021DBF9C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
mov ip, r0
|
|
ldr r0, [sp, #0x40]
|
|
ldr r7, [sp, #0x50]
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [sp, #0x44]
|
|
str r1, [sp, #0x10]
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0x48]
|
|
str r2, [sp, #0x14]
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [sp, #0x4c]
|
|
str r3, [sp, #0x18]
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, [sp, #0x54]
|
|
ldr r5, [sp, #0x5c]
|
|
str r0, [sp, #0x54]
|
|
ldr r0, [sp, #0x58]
|
|
ldr r4, [sp, #0x60]
|
|
str r0, [sp, #0x58]
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r7, #4]
|
|
sub r0, r0, #1
|
|
cmp r0, #0
|
|
ble _021DC05C
|
|
add r0, r1, #0
|
|
lsl r1, r0, #2
|
|
mov r0, ip
|
|
add r0, r0, r1
|
|
ldr r6, [sp, #0x20]
|
|
str r0, [sp, #0x1c]
|
|
_021DBFE0:
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, r6]
|
|
cmp r0, #0
|
|
bne _021DBFEC
|
|
bl ErrorHandling
|
|
_021DBFEC:
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r1, r0
|
|
blt _021DBFF8
|
|
bl ErrorHandling
|
|
_021DBFF8:
|
|
mov r1, #0
|
|
cmp r4, #0
|
|
bls _021DC00E
|
|
ldr r0, [r7]
|
|
ldr r2, [r0, r6]
|
|
_021DC002:
|
|
ldrb r0, [r5, r1]
|
|
cmp r2, r0
|
|
beq _021DC00E
|
|
add r1, r1, #1
|
|
cmp r1, r4
|
|
blo _021DC002
|
|
_021DC00E:
|
|
cmp r1, r4
|
|
blo _021DC04A
|
|
ldr r0, [sp, #0x48]
|
|
ldr r2, [sp, #0x40]
|
|
str r0, [sp]
|
|
ldr r0, [r7]
|
|
ldr r3, [sp, #0x44]
|
|
ldr r0, [r0, r6]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp, #0x4c]
|
|
add r0, r0, r1
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x54]
|
|
ldr r1, [sp, #0x18]
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x58]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r0, [r0]
|
|
bl MOD16_021DBF54
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
_021DC04A:
|
|
ldr r0, [sp, #0x24]
|
|
add r6, r6, #4
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r7, #4]
|
|
sub r1, r0, #1
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, r1
|
|
blt _021DBFE0
|
|
_021DC05C:
|
|
ldr r1, [sp, #0x64]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [r1]
|
|
ldr r0, [sp, #0x10]
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DBF9C
|
|
|
|
thumb_func_start MOD16_021DC068
|
|
MOD16_021DC068: ; 0x021DC068
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021DC10C
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DC15C
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DC198
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021DC230
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021DC0B4 ; =MOD16_021DC234
|
|
str r0, [r5, #8]
|
|
ldr r0, _021DC0B8 ; =MOD16_021DC280
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021DC0BC ; =MOD16_021DC2B0
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021DC0C0 ; =MOD16_021DC2C4
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021DC0C4 ; =MOD16_021DC3A8
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021DC0C8 ; =MOD16_021DC424
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DC0B4: .word MOD16_021DC234
|
|
_021DC0B8: .word MOD16_021DC280
|
|
_021DC0BC: .word MOD16_021DC2B0
|
|
_021DC0C0: .word MOD16_021DC2C4
|
|
_021DC0C4: .word MOD16_021DC3A8
|
|
_021DC0C8: .word MOD16_021DC424
|
|
thumb_func_end MOD16_021DC068
|
|
|
|
thumb_func_start MOD16_021DC0CC
|
|
MOD16_021DC0CC: ; 0x021DC0CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021DC148
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DC184
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021DC1F8
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DC0CC
|
|
|
|
thumb_func_start MOD16_021DC0E4
|
|
MOD16_021DC0E4: ; 0x021DC0E4
|
|
ldr r1, [r0, #0x24]
|
|
cmp r1, #1
|
|
beq _021DC102
|
|
ldr r1, [r0, #0x28]
|
|
cmp r1, #1
|
|
beq _021DC102
|
|
ldr r1, [r0, #0x2c]
|
|
cmp r1, #1
|
|
beq _021DC102
|
|
ldr r1, [r0, #0x30]
|
|
cmp r1, #1
|
|
beq _021DC102
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #1
|
|
bne _021DC106
|
|
_021DC102:
|
|
mov r0, #0
|
|
bx lr
|
|
_021DC106:
|
|
mov r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC0E4
|
|
|
|
thumb_func_start MOD16_021DC10C
|
|
MOD16_021DC10C: ; 0x021DC10C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x38
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DC11E
|
|
bl ErrorHandling
|
|
_021DC11E:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x38
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
str r0, [r4, #0x14]
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC10C
|
|
|
|
thumb_func_start MOD16_021DC148
|
|
MOD16_021DC148: ; 0x021DC148
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DC152
|
|
bl ErrorHandling
|
|
_021DC152:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC148
|
|
|
|
thumb_func_start MOD16_021DC15C
|
|
MOD16_021DC15C: ; 0x021DC15C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DC16E
|
|
bl ErrorHandling
|
|
_021DC16E:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DC15C
|
|
|
|
thumb_func_start MOD16_021DC184
|
|
MOD16_021DC184: ; 0x021DC184
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DC18E
|
|
bl ErrorHandling
|
|
_021DC18E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC184
|
|
|
|
thumb_func_start MOD16_021DC198
|
|
MOD16_021DC198: ; 0x021DC198
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021DC230
|
|
add r2, r0, #0
|
|
mov r1, #0x14
|
|
add r0, r5, #0
|
|
mul r1, r2
|
|
bl AllocFromHeap
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl MOD16_021DAC98
|
|
add r1, r6, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r2, r4, #0
|
|
mov r3, #2
|
|
bl MOD16_021DAD78
|
|
add r1, r6, #0
|
|
add r0, r5, #0
|
|
add r1, #0x28
|
|
add r2, r4, #0
|
|
mov r3, #4
|
|
bl MOD16_021DAD20
|
|
add r0, r6, #0
|
|
add r0, #0x3c
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
mov r3, #8
|
|
bl MOD16_021DAE94
|
|
add r1, r6, #0
|
|
add r0, r5, #0
|
|
add r1, #0x50
|
|
add r2, r4, #0
|
|
mov r3, #0x10
|
|
bl MOD16_021DAE0C
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DC198
|
|
|
|
thumb_func_start MOD16_021DC1F8
|
|
MOD16_021DC1F8: ; 0x021DC1F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DC202
|
|
bl ErrorHandling
|
|
_021DC202:
|
|
add r0, r4, #0
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x50
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DC1F8
|
|
|
|
thumb_func_start MOD16_021DC230
|
|
MOD16_021DC230: ; 0x021DC230
|
|
mov r0, #5
|
|
bx lr
|
|
thumb_func_end MOD16_021DC230
|
|
|
|
thumb_func_start MOD16_021DC234
|
|
MOD16_021DC234: ; 0x021DC234
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
mov r1, #0x24
|
|
bl AllocFromHeap
|
|
str r0, [r5, #8]
|
|
cmp r0, #0
|
|
bne _021DC24C
|
|
bl ErrorHandling
|
|
_021DC24C:
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
bl memset
|
|
ldr r1, [r5, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021DC4D4
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9EEC
|
|
mov r1, #1
|
|
str r1, [r4, #0x1c]
|
|
mov r0, #0
|
|
str r0, [r4, #0x20]
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #1
|
|
bne _021DC274
|
|
str r1, [r4, #0x10]
|
|
_021DC274:
|
|
add r0, r4, #0
|
|
bl MOD16_021DC540
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC234
|
|
|
|
thumb_func_start MOD16_021DC280
|
|
MOD16_021DC280: ; 0x021DC280
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
ldr r0, [r2, #0xc]
|
|
ldr r3, [r2, #8]
|
|
cmp r0, #1
|
|
bne _021DC290
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021DC290:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
bne _021DC2A0
|
|
mov r0, #0
|
|
str r0, [r1, #0x18]
|
|
mov r0, #1
|
|
str r0, [r2]
|
|
b _021DC2AA
|
|
_021DC2A0:
|
|
ldr r2, [r2, #4]
|
|
add r0, r1, #0
|
|
add r1, r3, #0
|
|
bl MOD16_021DC4F8
|
|
_021DC2AA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC280
|
|
|
|
thumb_func_start MOD16_021DC2B0
|
|
MOD16_021DC2B0: ; 0x021DC2B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC2B0
|
|
|
|
thumb_func_start MOD16_021DC2C4
|
|
MOD16_021DC2C4: ; 0x021DC2C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r6, r2, #0
|
|
ldr r7, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021DC39C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DC2E0: ; jump table
|
|
.short _021DC2E8 - _021DC2E0 - 2 ; case 0
|
|
.short _021DC316 - _021DC2E0 - 2 ; case 1
|
|
.short _021DC360 - _021DC2E0 - 2 ; case 2
|
|
.short _021DC388 - _021DC2E0 - 2 ; case 3
|
|
_021DC2E8:
|
|
mov r1, #0x52
|
|
ldr r0, [r4, #4]
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
add r7, r0, #0
|
|
bne _021DC2FA
|
|
bl ErrorHandling
|
|
_021DC2FA:
|
|
str r7, [r4, #8]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DD1A0
|
|
ldr r1, [r5]
|
|
add r0, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DCE44
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DC3A0
|
|
_021DC316:
|
|
mov r0, #0x5d
|
|
ldr r1, [r6, #4]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021DC32E
|
|
ldr r1, [r5]
|
|
ldr r3, [r4, #4]
|
|
add r0, r7, #0
|
|
bl MOD16_021DC690
|
|
b _021DC338
|
|
_021DC32E:
|
|
ldr r1, [r5]
|
|
ldr r3, [r4, #4]
|
|
add r0, r7, #0
|
|
bl MOD16_021DC770
|
|
_021DC338:
|
|
ldr r0, [r6, #0x14]
|
|
cmp r0, #0
|
|
beq _021DC34C
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021DD7C4
|
|
b _021DC358
|
|
_021DC34C:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021DD724
|
|
_021DC358:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DC3A0
|
|
_021DC360:
|
|
ldr r0, [r6, #0x14]
|
|
cmp r0, #0
|
|
beq _021DC372
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021DD850
|
|
b _021DC37C
|
|
_021DC372:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021DD760
|
|
_021DC37C:
|
|
cmp r0, #0
|
|
beq _021DC3A0
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DC3A0
|
|
_021DC388:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldr r0, _021DC3A4 ; =0x04000050
|
|
mov r1, #1
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DC39C:
|
|
bl ErrorHandling
|
|
_021DC3A0:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DC3A4: .word 0x04000050
|
|
thumb_func_end MOD16_021DC2C4
|
|
|
|
thumb_func_start MOD16_021DC3A8
|
|
MOD16_021DC3A8: ; 0x021DC3A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r2, #0
|
|
add r6, r0, #0
|
|
add r7, r1, #0
|
|
ldr r0, [r5, #0x1c]
|
|
ldr r4, [r7, #8]
|
|
cmp r0, #0
|
|
bne _021DC3BC
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DC3BC:
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9EC4
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, r0
|
|
beq _021DC3EC
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DCFD4
|
|
ldr r1, [r6]
|
|
ldr r3, [r7, #4]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021DD244
|
|
ldr r1, [r6]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021DCE44
|
|
_021DC3EC:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DCF1C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD060
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD12C
|
|
ldr r1, [r6]
|
|
ldr r3, [r7, #4]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021DD1C0
|
|
ldr r1, [r6]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021DD49C
|
|
add r0, r5, #0
|
|
bl MOD16_021DD4F0
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DC3A8
|
|
|
|
thumb_func_start MOD16_021DC424
|
|
MOD16_021DC424: ; 0x021DC424
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021DC4C6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DC440: ; jump table
|
|
.short _021DC448 - _021DC440 - 2 ; case 0
|
|
.short _021DC484 - _021DC440 - 2 ; case 1
|
|
.short _021DC4AC - _021DC440 - 2 ; case 2
|
|
.short _021DC4C2 - _021DC440 - 2 ; case 3
|
|
_021DC448:
|
|
ldr r0, _021DC4D0 ; =0x04000050
|
|
mov r3, #0
|
|
strh r3, [r0]
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _021DC474
|
|
ldr r1, [r5]
|
|
ldr r3, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021DD6DC
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl MOD16_021DD4E0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021DD7C4
|
|
b _021DC47C
|
|
_021DC474:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD724
|
|
_021DC47C:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DC4CA
|
|
_021DC484:
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _021DC496
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD16_021DD850
|
|
b _021DC4A0
|
|
_021DC496:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD16_021DD760
|
|
_021DC4A0:
|
|
cmp r0, #0
|
|
beq _021DC4CA
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DC4CA
|
|
_021DC4AC:
|
|
ldr r1, [r5]
|
|
add r0, r6, #0
|
|
bl MOD16_021DC754
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DC4CA
|
|
_021DC4C2:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DC4C6:
|
|
bl ErrorHandling
|
|
_021DC4CA:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DC4D0: .word 0x04000050
|
|
thumb_func_end MOD16_021DC424
|
|
|
|
thumb_func_start MOD16_021DC4D4
|
|
MOD16_021DC4D4: ; 0x021DC4D4
|
|
mov r2, #0
|
|
str r2, [r0, #8]
|
|
str r2, [r1]
|
|
mov r0, #0x3c
|
|
str r0, [r1, #4]
|
|
mov r0, #4
|
|
str r0, [r1, #8]
|
|
str r0, [r1, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC4D4
|
|
|
|
thumb_func_start MOD16_021DC4E8
|
|
MOD16_021DC4E8: ; 0x021DC4E8
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
str r0, [r1, #4]
|
|
mov r0, #0
|
|
str r0, [r1, #8]
|
|
str r0, [r1, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC4E8
|
|
|
|
thumb_func_start MOD16_021DC4F8
|
|
MOD16_021DC4F8: ; 0x021DC4F8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021DC598
|
|
cmp r0, #1
|
|
beq _021DC53E
|
|
add r0, r5, #0
|
|
bl MOD16_021DC540
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _021DC52A
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #1
|
|
bne _021DC522
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DDB0C
|
|
b _021DC52A
|
|
_021DC522:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DDB58
|
|
_021DC52A:
|
|
ldr r0, [r5, #0x20]
|
|
cmp r0, #0
|
|
beq _021DC538
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DC620
|
|
_021DC538:
|
|
add r0, r5, #0
|
|
bl MOD16_021DC550
|
|
_021DC53E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DC4F8
|
|
|
|
thumb_func_start MOD16_021DC540
|
|
MOD16_021DC540: ; 0x021DC540
|
|
mov r1, #0
|
|
str r1, [r0, #0x24]
|
|
str r1, [r0, #0x28]
|
|
str r1, [r0, #0x2c]
|
|
str r1, [r0, #0x30]
|
|
str r1, [r0, #0x34]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC540
|
|
|
|
thumb_func_start MOD16_021DC550
|
|
MOD16_021DC550: ; 0x021DC550
|
|
ldr r1, _021DC594 ; =0x021C48B8
|
|
mov r2, #2
|
|
ldr r1, [r1, #0x48]
|
|
tst r2, r1
|
|
beq _021DC572
|
|
mov r1, #0x5d
|
|
ldr r2, [r0, #4]
|
|
lsl r1, r1, #6
|
|
ldr r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _021DC56C
|
|
mov r1, #1
|
|
str r1, [r0, #0x28]
|
|
bx lr
|
|
_021DC56C:
|
|
mov r1, #1
|
|
str r1, [r0, #0x24]
|
|
bx lr
|
|
_021DC572:
|
|
mov r3, #1
|
|
add r2, r1, #0
|
|
tst r2, r3
|
|
beq _021DC57E
|
|
str r3, [r0, #0x2c]
|
|
bx lr
|
|
_021DC57E:
|
|
lsl r2, r3, #0xa
|
|
tst r2, r1
|
|
beq _021DC588
|
|
str r3, [r0, #0x34]
|
|
bx lr
|
|
_021DC588:
|
|
mov r2, #4
|
|
tst r1, r2
|
|
beq _021DC590
|
|
str r3, [r0, #0x30]
|
|
_021DC590:
|
|
bx lr
|
|
nop
|
|
_021DC594: .word 0x021C48B8
|
|
thumb_func_end MOD16_021DC550
|
|
|
|
thumb_func_start MOD16_021DC598
|
|
MOD16_021DC598: ; 0x021DC598
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r5, #0x28]
|
|
add r4, r2, #0
|
|
cmp r1, #0
|
|
beq _021DC5B4
|
|
bl MOD16_021DD9C8
|
|
ldr r0, _021DC618 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021DC5B4:
|
|
ldr r1, [r5, #0x24]
|
|
cmp r1, #0
|
|
beq _021DC5CA
|
|
add r1, r4, #0
|
|
bl MOD16_021DDAB4
|
|
ldr r0, _021DC618 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021DC5CA:
|
|
ldr r0, [r5, #0x2c]
|
|
cmp r0, #0
|
|
beq _021DC5F6
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9EC4
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9EDC
|
|
ldr r1, _021DC61C ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021DC5F6
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD9E0
|
|
ldr r0, _021DC618 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021DC5F6:
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #0
|
|
beq _021DC604
|
|
add r0, r5, #0
|
|
bl MOD16_021DD9F8
|
|
pop {r4, r5, r6, pc}
|
|
_021DC604:
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021DC614
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DDA2C
|
|
pop {r4, r5, r6, pc}
|
|
_021DC614:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DC618: .word 0x000005DD
|
|
_021DC61C: .word 0x000001EE
|
|
thumb_func_end MOD16_021DC598
|
|
|
|
thumb_func_start MOD16_021DC620
|
|
MOD16_021DC620: ; 0x021DC620
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021DC670
|
|
ldr r2, [r4, #4]
|
|
ldr r1, [r0, #0xc]
|
|
sub r1, r1, r2
|
|
cmp r1, #0
|
|
ble _021DC638
|
|
str r1, [r0, #0xc]
|
|
pop {r4, pc}
|
|
_021DC638:
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
str r1, [r4]
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
ble _021DC670
|
|
ldr r0, [r4, #8]
|
|
sub r0, r0, #1
|
|
cmp r0, #0
|
|
ble _021DC650
|
|
str r0, [r4, #8]
|
|
pop {r4, pc}
|
|
_021DC650:
|
|
ldr r0, [r4, #4]
|
|
bl _fflt
|
|
ldr r1, _021DC674 ; =0x3FCCCCCD
|
|
bl _fmul
|
|
bl _ffix
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4, #0xc]
|
|
sub r1, r0, #1
|
|
mov r0, #4
|
|
sub r0, r0, r1
|
|
str r1, [r4, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [r4, #8]
|
|
_021DC670:
|
|
pop {r4, pc}
|
|
nop
|
|
_021DC674: .word 0x3FCCCCCD
|
|
thumb_func_end MOD16_021DC620
|
|
|
|
thumb_func_start MOD16_021DC678
|
|
MOD16_021DC678: ; 0x021DC678
|
|
mov r3, #0xa
|
|
lsl r3, r3, #6
|
|
str r3, [r0, #0xc]
|
|
str r2, [r1]
|
|
str r2, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MOD16_021DC678
|
|
|
|
thumb_func_start MOD16_021DC684
|
|
MOD16_021DC684: ; 0x021DC684
|
|
ldr r3, _021DC68C ; =MOD16_021D9E70
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_021DC68C: .word MOD16_021D9E70
|
|
thumb_func_end MOD16_021DC684
|
|
|
|
thumb_func_start MOD16_021DC690
|
|
MOD16_021DC690: ; 0x021DC690
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r1, #0
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r7, r3, #0
|
|
str r1, [sp]
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r7, [sp, #4]
|
|
bl MOD16_021D8CFC
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DC860
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9D04
|
|
add r3, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DC8F8
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9F28
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9F34
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #8]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DC958
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DCAB4
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DCB58
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DCCC0
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DD63C
|
|
str r0, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021DCD68
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DCF10
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DCF1C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD060
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD110
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD12C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021DD1C0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DD49C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DC690
|
|
|
|
thumb_func_start MOD16_021DC754
|
|
MOD16_021DC754: ; 0x021DC754
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021DCED8
|
|
add r0, r4, #0
|
|
bl MOD16_021DCAFC
|
|
add r0, r4, #0
|
|
bl MOD16_021DCEBC
|
|
add r0, r4, #0
|
|
bl MOD16_021DC93C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DC754
|
|
|
|
thumb_func_start MOD16_021DC770
|
|
MOD16_021DC770: ; 0x021DC770
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r4, r2, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
add r6, r3, #0
|
|
mov r2, #0
|
|
add r0, r7, #0
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
str r6, [sp, #4]
|
|
bl MOD16_021D8CFC
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
add r2, sp, #0x10
|
|
add r3, r6, #0
|
|
bl MOD16_021D8D70
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0xc]
|
|
lsl r1, r1, #8
|
|
str r0, [sp, #8]
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #8]
|
|
mov r2, #0x1e
|
|
add r0, #0x20
|
|
mov r1, #0x20
|
|
lsl r2, r2, #4
|
|
str r0, [sp, #8]
|
|
bl GX_LoadBGPltt
|
|
ldr r0, [sp, #0xc]
|
|
bl FreeToHeap
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DC860
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9D04
|
|
add r3, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DC8F8
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DCAB4
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DCB58
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DCCC0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DD63C
|
|
str r0, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DCD68
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9F28
|
|
add r2, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DCA2C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DCF10
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DCF1C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD060
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD110
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD12C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DD1C0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DD49C
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC770
|
|
|
|
thumb_func_start MOD16_021DC860
|
|
MOD16_021DC860: ; 0x021DC860
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r5, r0, #0
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5]
|
|
mov r1, #0x1c
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x26
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x27
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r4, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DC860
|
|
|
|
thumb_func_start MOD16_021DC8F8
|
|
MOD16_021DC8F8: ; 0x021DC8F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
add r4, r2, #0
|
|
str r4, [sp, #0xc]
|
|
add r7, r3, #0
|
|
ldr r2, [r6]
|
|
add r0, r6, #0
|
|
mov r1, #0x1c
|
|
mov r3, #2
|
|
bl MOD16_021D8CB4
|
|
cmp r7, #1
|
|
bne _021DC924
|
|
mov r1, #0x2a
|
|
b _021DC926
|
|
_021DC924:
|
|
mov r1, #0x28
|
|
_021DC926:
|
|
add r3, r5, #0
|
|
add r0, r6, #0
|
|
mov r2, #1
|
|
add r3, #0xdc
|
|
str r4, [sp]
|
|
bl MOD16_021D8D48
|
|
add r5, #0xd8
|
|
str r0, [r5]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DC8F8
|
|
|
|
thumb_func_start MOD16_021DC93C
|
|
MOD16_021DC93C: ; 0x021DC93C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xd8
|
|
str r1, [r0]
|
|
add r4, #0xdc
|
|
str r1, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DC93C
|
|
|
|
thumb_func_start MOD16_021DC958
|
|
MOD16_021DC958: ; 0x021DC958
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
str r3, [sp, #0x10]
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
ldr r2, _021DCA24 ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
add r6, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DCA28 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #8
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DCA28 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #0x80
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
mov r2, #3
|
|
mov r3, #2
|
|
bl FUN_02021B04
|
|
mov r0, #0xaa
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DCA28 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #0x30
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
mov r2, #3
|
|
mov r3, #2
|
|
bl FUN_02021B04
|
|
mov r0, #0xaa
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DCA28 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #0xb4
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DCA24: .word 0x00000266
|
|
_021DCA28: .word 0x00020100
|
|
thumb_func_end MOD16_021DC958
|
|
|
|
thumb_func_start MOD16_021DCA2C
|
|
MOD16_021DCA2C: ; 0x021DCA2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
ldr r2, _021DCAAC ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #0x6c
|
|
add r2, r4, #0
|
|
add r6, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DCAB0 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #8
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
mov r2, #3
|
|
mov r3, #2
|
|
bl FUN_02021B04
|
|
mov r0, #0xaa
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DCAB0 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #0x30
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_0201AC68
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DCAAC: .word 0x00000266
|
|
_021DCAB0: .word 0x00020100
|
|
thumb_func_end MOD16_021DCA2C
|
|
|
|
thumb_func_start MOD16_021DCAB4
|
|
MOD16_021DCAB4: ; 0x021DCAB4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #2
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
add r1, r5, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
add r1, r5, #0
|
|
add r1, #0x84
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
add r1, r0, #0
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl FUN_02008DEC
|
|
add r5, #0x8c
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DCAB4
|
|
|
|
thumb_func_start MOD16_021DCAFC
|
|
MOD16_021DCAFC: ; 0x021DCAFC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #0x51
|
|
bl FUN_020094F0
|
|
bl FUN_02009C0C
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_020094F0
|
|
bl FUN_02009E04
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #0x6f
|
|
bl FUN_020094F0
|
|
bl FUN_02009C0C
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bl FUN_02008E2C
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl FUN_02008E2C
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
bl FUN_02008E2C
|
|
add r4, #0x8c
|
|
ldr r0, [r4]
|
|
bl FUN_02008E2C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DCAFC
|
|
|
|
thumb_func_start MOD16_021DCB58
|
|
MOD16_021DCB58: ; 0x021DCB58
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r6, r0, #0
|
|
mov r2, #0x51
|
|
add r0, r5, #0
|
|
str r2, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
bl FUN_020091E0
|
|
add r7, r0, #0
|
|
bl FUN_02009B04
|
|
add r0, r7, #0
|
|
bl FUN_02009474
|
|
mov r2, #3
|
|
str r2, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
str r4, [sp, #0xc]
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
add r7, r0, #0
|
|
bl FUN_02009D68
|
|
add r0, r7, #0
|
|
bl FUN_02009474
|
|
mov r2, #0x4f
|
|
str r2, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
str r4, [sp, #8]
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r2, #0x50
|
|
str r2, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
str r4, [sp, #8]
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
sub r0, #0x51
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r1, #2
|
|
str r1, [sp, #0x10]
|
|
add r1, r5, #0
|
|
add r1, #0x80
|
|
ldr r1, [r1]
|
|
mov r2, #3
|
|
str r1, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
mov r3, #0x4f
|
|
str r1, [sp, #0x18]
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
str r1, [sp, #0x1c]
|
|
add r1, r5, #0
|
|
add r1, #0x8c
|
|
ldr r1, [r1]
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r5, #0
|
|
add r0, #0x90
|
|
mov r1, #0x51
|
|
bl FUN_02008AA4
|
|
mov r2, #0x6f
|
|
str r2, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
add r0, r5, #0
|
|
str r4, [sp, #8]
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
bl FUN_020091E0
|
|
add r7, r0, #0
|
|
bl FUN_02009B04
|
|
add r0, r7, #0
|
|
bl FUN_02009474
|
|
mov r2, #0x6d
|
|
str r2, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
str r4, [sp, #8]
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r2, #0x6e
|
|
str r2, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
str r4, [sp, #8]
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r0, #0x6e
|
|
str r0, [sp]
|
|
sub r0, #0x6f
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r1, #2
|
|
str r1, [sp, #0x10]
|
|
add r1, r5, #0
|
|
add r1, #0x80
|
|
ldr r1, [r1]
|
|
mov r2, #3
|
|
str r1, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
mov r3, #0x6d
|
|
str r1, [sp, #0x18]
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
str r1, [sp, #0x1c]
|
|
add r1, r5, #0
|
|
add r1, #0x8c
|
|
ldr r1, [r1]
|
|
add r5, #0xb4
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r5, #0
|
|
mov r1, #0x6f
|
|
bl FUN_02008AA4
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DCB58
|
|
|
|
thumb_func_start MOD16_021DCCC0
|
|
MOD16_021DCCC0: ; 0x021DCCC0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
mov r4, #0
|
|
add r6, r0, #0
|
|
add r3, r1, #0
|
|
add r5, sp, #0
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
stmia r5!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r3, r0]
|
|
add r5, r6, #0
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
add r0, #0x90
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x20
|
|
str r2, [sp, #0x1c]
|
|
str r0, [sp, #0x14]
|
|
add r7, r4, #0
|
|
_021DCCF4:
|
|
add r0, sp, #0
|
|
bl FUN_0201FF84
|
|
add r1, r7, #0
|
|
stmia r5!, {r0}
|
|
bl FUN_02020130
|
|
add r4, r4, #1
|
|
cmp r4, #9
|
|
blt _021DCCF4
|
|
mov r5, #0
|
|
str r5, [sp, #0x14]
|
|
add r4, r6, #0
|
|
add r7, sp, #0
|
|
_021DCD10:
|
|
add r0, r7, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #1
|
|
str r0, [r4, #0x50]
|
|
bl FUN_02020130
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #9
|
|
blt _021DCD10
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #2
|
|
str r0, [r6, #0x74]
|
|
bl FUN_02020130
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r0, #5
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r0, #0xb4
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0
|
|
bl FUN_0201FF84
|
|
str r0, [r6, #0x7c]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [r6, #0x7c]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DCCC0
|
|
|
|
thumb_func_start MOD16_021DCD68
|
|
MOD16_021DCD68: ; 0x021DCD68
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #4]
|
|
mov r1, #0x15
|
|
ldr r0, [sp, #8]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #4]
|
|
add r7, r2, #0
|
|
add r0, #0x98
|
|
ldr r0, [r0]
|
|
str r3, [sp, #0xc]
|
|
str r0, [sp, #0x24]
|
|
mov r0, #2
|
|
str r0, [sp, #0x34]
|
|
mov r0, #1
|
|
str r0, [sp, #0x3c]
|
|
add r0, r3, #0
|
|
str r1, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
str r1, [sp, #0x30]
|
|
str r1, [sp, #0x38]
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9EC4
|
|
sub r4, r0, #4
|
|
ldr r0, [sp, #4]
|
|
ldr r6, [r0, #0x24]
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9ED0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
_021DCDB4:
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r6, #2
|
|
add r5, r0, r1
|
|
ldr r0, [r5, #0x28]
|
|
cmp r0, #0
|
|
beq _021DCDC8
|
|
bl MOD16_021DB338
|
|
mov r0, #0
|
|
str r0, [r5, #0x28]
|
|
_021DCDC8:
|
|
cmp r4, #0
|
|
blt _021DCE20
|
|
ldr r0, [sp, #0x10]
|
|
cmp r4, r0
|
|
bge _021DCE20
|
|
ldr r0, [r7, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021D9EDC
|
|
add r1, r0, #0
|
|
ldr r0, _021DCE40 ; =0x000001EE
|
|
cmp r1, r0
|
|
beq _021DCE0E
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9E08
|
|
add r3, r0, #0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r7, #4]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [r3]
|
|
bl MOD16_021D7E14
|
|
ldr r1, [sp, #4]
|
|
str r0, [sp, #0x20]
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r1, #0x4c]
|
|
add r0, sp, #0x1c
|
|
bl MOD16_021DB2D4
|
|
str r0, [r5, #0x28]
|
|
ldr r0, [sp, #0x18]
|
|
bl MOD16_021DB3BC
|
|
b _021DCE24
|
|
_021DCE0E:
|
|
add r0, r4, #1
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
add r3, r6, #0
|
|
bl MOD16_021DD370
|
|
b _021DCE24
|
|
_021DCE20:
|
|
mov r0, #0
|
|
str r0, [r5, #0x28]
|
|
_021DCE24:
|
|
add r0, r6, #1
|
|
mov r1, #9
|
|
bl _s32_div_f
|
|
ldr r0, [sp, #0x14]
|
|
add r6, r1, #0
|
|
add r0, r0, #1
|
|
add r4, r4, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #9
|
|
blt _021DCDB4
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DCE40: .word 0x000001EE
|
|
thumb_func_end MOD16_021DCD68
|
|
|
|
thumb_func_start MOD16_021DCE44
|
|
MOD16_021DCE44: ; 0x021DCE44
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r6, r1, #0
|
|
bl MOD16_021D9EC4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9D88
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9E08
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [sp, #8]
|
|
bl MOD16_021D9EDC
|
|
ldr r1, _021DCEB8 ; =0x000001EE
|
|
cmp r0, r1
|
|
bne _021DCE8C
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl MOD16_021D870C
|
|
ldr r0, [r5, #0x7c]
|
|
cmp r0, #0
|
|
beq _021DCEB4
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021DCE8C:
|
|
mov r0, #0x38
|
|
str r0, [sp]
|
|
mov r0, #0x50
|
|
str r0, [sp, #4]
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r7]
|
|
add r0, r6, #0
|
|
mov r3, #2
|
|
bl MOD16_021D7FB4
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021D870C
|
|
ldr r0, [r5, #0x7c]
|
|
cmp r0, #0
|
|
beq _021DCEB4
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021DCEB4:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DCEB8: .word 0x000001EE
|
|
thumb_func_end MOD16_021DCE44
|
|
|
|
thumb_func_start MOD16_021DCEBC
|
|
MOD16_021DCEBC: ; 0x021DCEBC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021DCEC2:
|
|
ldr r0, [r5, #0x28]
|
|
cmp r0, #0
|
|
beq _021DCECC
|
|
bl MOD16_021DB338
|
|
_021DCECC:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #9
|
|
blt _021DCEC2
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DCEBC
|
|
|
|
thumb_func_start MOD16_021DCED8
|
|
MOD16_021DCED8: ; 0x021DCED8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021DCEE0:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #9
|
|
blt _021DCEE0
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
_021DCEF2:
|
|
ldr r0, [r4, #0x50]
|
|
bl FUN_0201FFC8
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #9
|
|
blt _021DCEF2
|
|
ldr r0, [r6, #0x74]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r6, #0x7c]
|
|
bl FUN_0201FFC8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DCED8
|
|
|
|
thumb_func_start MOD16_021DCF10
|
|
MOD16_021DCF10: ; 0x021DCF10
|
|
ldr r3, _021DCF18 ; =MOD16_021DD44C
|
|
mov r2, #0
|
|
str r2, [r0, #0x24]
|
|
bx r3
|
|
.align 2, 0
|
|
_021DCF18: .word MOD16_021DD44C
|
|
thumb_func_end MOD16_021DCF10
|
|
|
|
thumb_func_start MOD16_021DCF1C
|
|
MOD16_021DCF1C: ; 0x021DCF1C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x24]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r4, #0
|
|
_021DCF2A:
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #1
|
|
bne _021DCF36
|
|
add r0, r4, #2
|
|
b _021DCF38
|
|
_021DCF36:
|
|
add r0, r4, #0
|
|
_021DCF38:
|
|
add r1, r4, #1
|
|
ldr r3, [sp]
|
|
lsl r7, r1, #2
|
|
mov r2, #0xa
|
|
lsl r0, r0, #2
|
|
ldr r1, _021DCFCC ; =0x021FF570
|
|
str r0, [sp, #8]
|
|
ldr r0, [r1, r0]
|
|
lsl r2, r2, #6
|
|
ldr r6, [r3, #0xc]
|
|
add r3, r2, #0
|
|
ldr r1, [r1, r7]
|
|
sub r3, r3, r6
|
|
bl MOD16_021DD174
|
|
str r0, [sp, #0xc]
|
|
ldr r3, [sp]
|
|
mov r2, #0xa
|
|
ldr r1, _021DCFD0 ; =0x021FF59C
|
|
ldr r0, [sp, #8]
|
|
lsl r2, r2, #6
|
|
ldr r6, [r3, #0xc]
|
|
ldr r0, [r1, r0]
|
|
add r3, r2, #0
|
|
ldr r1, [r1, r7]
|
|
sub r3, r3, r6
|
|
bl MOD16_021DD174
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #4]
|
|
add r1, sp, #0xc
|
|
lsl r6, r0, #2
|
|
ldr r0, [r5, r6]
|
|
bl FUN_02020044
|
|
mov r0, #4
|
|
sub r7, r0, r4
|
|
bpl _021DCF86
|
|
neg r7, r7
|
|
_021DCF86:
|
|
lsl r1, r7, #1
|
|
bpl _021DCF8C
|
|
neg r1, r1
|
|
_021DCF8C:
|
|
ldr r0, [r5, r6]
|
|
add r1, #0x20
|
|
bl FUN_02020310
|
|
cmp r4, #4
|
|
bne _021DCFA2
|
|
ldr r0, [r5, r6]
|
|
mov r1, #0
|
|
bl FUN_020202DC
|
|
b _021DCFB6
|
|
_021DCFA2:
|
|
add r1, r7, #6
|
|
cmp r1, #9
|
|
ldr r0, [r5, r6]
|
|
bge _021DCFB0
|
|
bl FUN_020202DC
|
|
b _021DCFB6
|
|
_021DCFB0:
|
|
mov r1, #9
|
|
bl FUN_020202DC
|
|
_021DCFB6:
|
|
ldr r0, [sp, #4]
|
|
mov r1, #9
|
|
add r0, r0, #1
|
|
bl _s32_div_f
|
|
add r4, r4, #1
|
|
str r1, [sp, #4]
|
|
cmp r4, #9
|
|
blt _021DCF2A
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DCFCC: .word 0x021FF570
|
|
_021DCFD0: .word 0x021FF59C
|
|
thumb_func_end MOD16_021DCF1C
|
|
|
|
thumb_func_start MOD16_021DCFD4
|
|
MOD16_021DCFD4: ; 0x021DCFD4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9EC4
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9ED0
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #1
|
|
bne _021DD026
|
|
ldr r0, [r5, #0x24]
|
|
add r0, r0, #1
|
|
cmp r0, #9
|
|
bge _021DCFFA
|
|
b _021DCFFC
|
|
_021DCFFA:
|
|
mov r0, #0
|
|
_021DCFFC:
|
|
str r0, [r5, #0x24]
|
|
ldr r0, [r5, #0x24]
|
|
mov r1, #9
|
|
add r0, #8
|
|
bl _s32_div_f
|
|
add r0, r6, #4
|
|
cmp r0, r7
|
|
blt _021DD01A
|
|
lsl r0, r1, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD01A:
|
|
lsl r0, r1, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD026:
|
|
cmp r0, #2
|
|
bne _021DD054
|
|
ldr r0, [r5, #0x24]
|
|
sub r0, r0, #1
|
|
bmi _021DD032
|
|
b _021DD034
|
|
_021DD032:
|
|
mov r0, #8
|
|
_021DD034:
|
|
str r0, [r5, #0x24]
|
|
ldr r1, [r5, #0x24]
|
|
sub r0, r6, #4
|
|
bpl _021DD048
|
|
lsl r0, r1, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD048:
|
|
lsl r0, r1, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD054:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DD44C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DCFD4
|
|
|
|
thumb_func_start MOD16_021DD060
|
|
MOD16_021DD060: ; 0x021DD060
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r7, r1, #0
|
|
str r0, [sp]
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9EC4
|
|
add r5, r0, #0
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9ED0
|
|
str r0, [sp, #4]
|
|
sub r0, r5, #4
|
|
mov r4, #0
|
|
str r0, [sp, #8]
|
|
_021DD07E:
|
|
ldr r0, [sp]
|
|
mov r1, #9
|
|
ldr r0, [r0, #0x24]
|
|
add r0, r0, r4
|
|
bl _s32_div_f
|
|
ldr r0, [sp, #8]
|
|
add r5, r1, #0
|
|
mov r6, #0
|
|
add r1, r0, r4
|
|
bmi _021DD0B6
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
bge _021DD0B6
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9EDC
|
|
add r1, r0, #0
|
|
ldr r0, _021DD10C ; =0x000001EE
|
|
cmp r1, r0
|
|
beq _021DD0B6
|
|
ldr r0, [r7, #4]
|
|
bl MOD16_021D9E08
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #2
|
|
bne _021DD0B6
|
|
mov r6, #1
|
|
_021DD0B6:
|
|
ldr r0, [sp]
|
|
lsl r1, r5, #2
|
|
add r5, r0, r1
|
|
ldr r0, [r5, #0x50]
|
|
add r1, r6, #0
|
|
bl FUN_020200A0
|
|
cmp r6, #0
|
|
beq _021DD102
|
|
ldr r0, [r5]
|
|
bl FUN_0202011C
|
|
mov r1, #0x36
|
|
ldr r2, [r0]
|
|
lsl r1, r1, #0xc
|
|
sub r1, r2, r1
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0xc
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x50]
|
|
bl FUN_02020044
|
|
ldr r0, [r5]
|
|
bl FUN_02020300
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
bl FUN_020202A8
|
|
ldr r0, [r5]
|
|
bl FUN_0202032C
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
sub r1, r1, #1
|
|
bl FUN_02020310
|
|
_021DD102:
|
|
add r4, r4, #1
|
|
cmp r4, #9
|
|
blt _021DD07E
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DD10C: .word 0x000001EE
|
|
thumb_func_end MOD16_021DD060
|
|
|
|
thumb_func_start MOD16_021DD110
|
|
MOD16_021DD110: ; 0x021DD110
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D9ED0
|
|
add r1, r0, #0
|
|
mov r0, #0x36
|
|
lsl r0, r0, #0xc
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
str r0, [r4, #0x78]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD110
|
|
|
|
thumb_func_start MOD16_021DD12C
|
|
MOD16_021DD12C: ; 0x021DD12C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D9EC4
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x78]
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
mov r0, #0x3a
|
|
lsl r0, r0, #0xc
|
|
str r1, [sp, #4]
|
|
add r0, r1, r0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0x74]
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD12C
|
|
|
|
thumb_func_start MOD16_021DD174
|
|
MOD16_021DD174: ; 0x021DD174
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
sub r0, r1, r5
|
|
lsl r2, r3, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
lsl r1, r4, #0xc
|
|
bl FX_Div
|
|
add r0, r0, r5
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DD174
|
|
|
|
thumb_func_start MOD16_021DD1A0
|
|
MOD16_021DD1A0: ; 0x021DD1A0
|
|
push {r3, r4, r5, lr}
|
|
mov r2, #0x52
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9EC4
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD1A0
|
|
|
|
thumb_func_start MOD16_021DD1C0
|
|
MOD16_021DD1C0: ; 0x021DD1C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
ldr r5, [r7, #0x24]
|
|
mov r6, #0
|
|
_021DD1CA:
|
|
lsl r0, r5, #2
|
|
add r4, r7, r0
|
|
ldr r0, [r4, #0x28]
|
|
cmp r0, #0
|
|
beq _021DD20C
|
|
ldr r0, [r4]
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl MOD16_021DD220
|
|
ldr r0, [r4, #0x28]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r2, [sp]
|
|
bl FUN_020118C4
|
|
ldr r0, [r4]
|
|
bl FUN_0202032C
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x28]
|
|
sub r1, r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011A30
|
|
ldr r0, [r4]
|
|
bl FUN_02020300
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x28]
|
|
ldr r0, [r0]
|
|
bl FUN_02011A90
|
|
_021DD20C:
|
|
add r0, r5, #1
|
|
mov r1, #9
|
|
bl _s32_div_f
|
|
add r6, r6, #1
|
|
add r5, r1, #0
|
|
cmp r6, #9
|
|
blt _021DD1CA
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DD1C0
|
|
|
|
thumb_func_start MOD16_021DD220
|
|
MOD16_021DD220: ; 0x021DD220
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
bl FUN_0202011C
|
|
ldr r1, [r0]
|
|
asr r1, r1, #0xc
|
|
str r1, [r5]
|
|
ldr r0, [r0, #4]
|
|
asr r0, r0, #0xc
|
|
str r0, [r4]
|
|
ldr r0, [r5]
|
|
sub r0, #0x40
|
|
str r0, [r5]
|
|
ldr r0, [r4]
|
|
sub r0, #8
|
|
str r0, [r4]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DD220
|
|
|
|
thumb_func_start MOD16_021DD244
|
|
MOD16_021DD244: ; 0x021DD244
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
str r1, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
bl MOD16_021D9EC4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9ED0
|
|
ldr r1, [r4, #8]
|
|
str r0, [sp, #0x10]
|
|
cmp r1, #1
|
|
beq _021DD26C
|
|
cmp r1, #2
|
|
beq _021DD276
|
|
b _021DD27C
|
|
_021DD26C:
|
|
ldr r6, [r5, #0x24]
|
|
ldr r0, [sp, #0x14]
|
|
add r6, #8
|
|
add r7, r0, #4
|
|
b _021DD27C
|
|
_021DD276:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r6, [r5, #0x24]
|
|
sub r7, r0, #4
|
|
_021DD27C:
|
|
cmp r1, #0
|
|
bne _021DD290
|
|
ldr r1, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DCD68
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD290:
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
bl _s32_div_f
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r1, #0
|
|
cmp r7, r0
|
|
bge _021DD2DA
|
|
cmp r7, #0
|
|
blt _021DD2DA
|
|
ldr r0, [r4, #4]
|
|
add r1, r7, #0
|
|
bl MOD16_021D9EDC
|
|
ldr r1, _021DD2F0 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021DD2C6
|
|
str r6, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DD2F4
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD2C6:
|
|
add r0, r7, #1
|
|
str r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DD370
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD2DA:
|
|
lsl r4, r6, #2
|
|
add r5, #0x28
|
|
ldr r0, [r5, r4]
|
|
cmp r0, #0
|
|
beq _021DD2EC
|
|
bl MOD16_021DB338
|
|
mov r0, #0
|
|
str r0, [r5, r4]
|
|
_021DD2EC:
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DD2F0: .word 0x000001EE
|
|
thumb_func_end MOD16_021DD244
|
|
|
|
thumb_func_start MOD16_021DD2F4
|
|
MOD16_021DD2F4: ; 0x021DD2F4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [sp, #0x44]
|
|
add r7, r3, #0
|
|
bl MOD16_021D9E08
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
bne _021DD312
|
|
bl ErrorHandling
|
|
_021DD312:
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x98
|
|
ldr r0, [r0]
|
|
ldr r3, [sp]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #1
|
|
str r0, [sp, #0x24]
|
|
str r1, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
str r1, [sp, #0x20]
|
|
str r7, [sp, #0x28]
|
|
ldr r1, [r4, #4]
|
|
ldr r3, [r3]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021D7E14
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #0x40]
|
|
add r4, r5, #0
|
|
add r4, #0x28
|
|
lsl r7, r0, #2
|
|
ldr r0, [r4, r7]
|
|
cmp r0, #0
|
|
beq _021DD358
|
|
bl MOD16_021DB338
|
|
_021DD358:
|
|
str r6, [sp, #8]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, sp, #4
|
|
bl MOD16_021DB2D4
|
|
str r0, [r4, r7]
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD2F4
|
|
|
|
thumb_func_start MOD16_021DD370
|
|
MOD16_021DD370: ; 0x021DD370
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
add r4, r2, #0
|
|
str r0, [sp, #0x10]
|
|
add r5, r1, #0
|
|
mov r0, #0x20
|
|
add r1, r4, #0
|
|
add r6, r3, #0
|
|
bl FUN_020219F4
|
|
add r7, r0, #0
|
|
ldr r2, _021DD444 ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r4, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, r1]
|
|
mov r2, #2
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, #0x98
|
|
ldr r0, [r0]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x34]
|
|
mov r0, #1
|
|
str r2, [sp, #0x30]
|
|
str r4, [sp, #0x3c]
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xf
|
|
bl MOD16_021DB388
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x58]
|
|
add r0, r7, #0
|
|
mov r2, #3
|
|
mov r3, #2
|
|
bl FUN_02021B04
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DD448 ; =0x00030201
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r3, #0x16
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0x63
|
|
add r2, r7, #0
|
|
bl FUN_0200A8E0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DD448 ; =0x00030201
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r3, #0x31
|
|
bl FUN_0201BDE0
|
|
ldr r4, [sp, #0x10]
|
|
lsl r6, r6, #2
|
|
add r4, #0x28
|
|
ldr r0, [r4, r6]
|
|
cmp r0, #0
|
|
beq _021DD420
|
|
bl MOD16_021DB338
|
|
_021DD420:
|
|
ldr r1, [sp, #0x10]
|
|
str r5, [sp, #0x1c]
|
|
ldr r1, [r1, #0x4c]
|
|
add r0, sp, #0x18
|
|
bl MOD16_021DB2D4
|
|
str r0, [r4, r6]
|
|
add r0, r5, #0
|
|
bl MOD16_021DB3BC
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_0200A8B8
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DD444: .word 0x00000266
|
|
_021DD448: .word 0x00030201
|
|
thumb_func_end MOD16_021DD370
|
|
|
|
thumb_func_start MOD16_021DD44C
|
|
MOD16_021DD44C: ; 0x021DD44C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9EC4
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9ED0
|
|
sub r4, r5, #4
|
|
ldr r5, [r6, #0x24]
|
|
str r0, [sp]
|
|
mov r7, #0
|
|
_021DD468:
|
|
cmp r4, #0
|
|
blt _021DD47E
|
|
ldr r0, [sp]
|
|
cmp r4, r0
|
|
bge _021DD47E
|
|
lsl r0, r5, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
b _021DD488
|
|
_021DD47E:
|
|
lsl r0, r5, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021DD488:
|
|
add r0, r5, #1
|
|
mov r1, #9
|
|
bl _s32_div_f
|
|
add r7, r7, #1
|
|
add r5, r1, #0
|
|
add r4, r4, #1
|
|
cmp r7, #9
|
|
blt _021DD468
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DD44C
|
|
|
|
thumb_func_start MOD16_021DD49C
|
|
MOD16_021DD49C: ; 0x021DD49C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r2, #0xc]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0xc
|
|
mov r2, #0x1f
|
|
asr r1, r0, #0x1f
|
|
lsl r2, r2, #0xc
|
|
mov r3, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #0xa
|
|
lsl r1, r1, #0x12
|
|
bl FX_Div
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021D8700
|
|
mov r1, #0x17
|
|
asr r2, r5, #0xc
|
|
bl FUN_02007558
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DD49C
|
|
|
|
thumb_func_start MOD16_021DD4E0
|
|
MOD16_021DD4E0: ; 0x021DD4E0
|
|
push {r3, lr}
|
|
bl MOD16_021D8700
|
|
mov r1, #0x17
|
|
mov r2, #0x1f
|
|
bl FUN_02007558
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021DD4E0
|
|
|
|
thumb_func_start MOD16_021DD4F0
|
|
MOD16_021DD4F0: ; 0x021DD4F0
|
|
push {r4, lr}
|
|
mov r1, #0xa
|
|
ldr r0, [r0, #0xc]
|
|
lsl r1, r1, #6
|
|
sub r0, r1, r0
|
|
lsl r3, r0, #0xc
|
|
asr r2, r3, #0x1f
|
|
lsr r0, r3, #0x10
|
|
lsl r4, r2, #0x10
|
|
orr r4, r0
|
|
mov r0, #2
|
|
lsl r3, r3, #0x10
|
|
mov r2, #0
|
|
lsl r0, r0, #0xa
|
|
add r0, r3, r0
|
|
adc r4, r2
|
|
lsl r2, r4, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r2
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
asr r1, r0, #0xc
|
|
mov r0, #0x10
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #8
|
|
orr r1, r0
|
|
ldr r0, _021DD52C ; =0x04000052
|
|
strh r1, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021DD52C: .word 0x04000052
|
|
thumb_func_end MOD16_021DD4F0
|
|
|
|
thumb_func_start MOD16_021DD530
|
|
MOD16_021DD530: ; 0x021DD530
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _021DD5BC ; =0x00000685
|
|
add r5, r2, #0
|
|
str r1, [sp, #0x18]
|
|
add r4, r3, #0
|
|
bl FUN_020054C8
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bne _021DD576
|
|
cmp r4, #0
|
|
beq _021DD568
|
|
ldr r0, [sp, #0x18]
|
|
mov r6, #3
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
mov r3, #0xc0
|
|
str r4, [sp, #0x1c]
|
|
mov r7, #0xe
|
|
mov r5, #4
|
|
bl FUN_020179E0
|
|
b _021DD594
|
|
_021DD568:
|
|
mov r0, #3
|
|
mov r6, #0
|
|
str r0, [sp, #0x1c]
|
|
mov r4, #0xe
|
|
add r7, r6, #0
|
|
mov r5, #4
|
|
b _021DD594
|
|
_021DD576:
|
|
cmp r4, #0
|
|
beq _021DD588
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x1c]
|
|
mov r4, #0x14
|
|
mov r6, #3
|
|
mov r7, #0xe
|
|
mov r5, #4
|
|
b _021DD594
|
|
_021DD588:
|
|
mov r0, #3
|
|
str r0, [sp, #0x1c]
|
|
mov r4, #0xe
|
|
mov r6, #0xc
|
|
mov r7, #0x14
|
|
mov r5, #4
|
|
_021DD594:
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r3, [sp, #0x14]
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
str r4, [sp, #8]
|
|
str r7, [sp, #0xc]
|
|
ldr r1, [sp, #0x18]
|
|
str r5, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [r1]
|
|
add r3, #0xdc
|
|
str r3, [sp, #0x14]
|
|
ldr r1, [r1]
|
|
ldr r3, [r3]
|
|
add r0, #0xe0
|
|
mov r2, #2
|
|
bl MOD16_021D7CA4
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DD5BC: .word 0x00000685
|
|
thumb_func_end MOD16_021DD530
|
|
|
|
thumb_func_start MOD16_021DD5C0
|
|
MOD16_021DD5C0: ; 0x021DD5C0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xe0
|
|
add r4, r1, #0
|
|
bl MOD16_021D7CC8
|
|
add r6, r0, #0
|
|
bne _021DD60A
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
sub r0, r0, #1
|
|
mul r0, r1
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
ldr r1, [r5, r1]
|
|
bl _s32_div_f
|
|
add r5, #0xf0
|
|
ldr r1, [r5]
|
|
add r0, r0, r1
|
|
lsl r3, r0, #3
|
|
mov r0, #0x2f
|
|
sub r3, #0x70
|
|
mvn r0, r0
|
|
cmp r3, r0
|
|
bge _021DD5FE
|
|
add r3, r0, #0
|
|
_021DD5FE:
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
mov r2, #3
|
|
bl FUN_0201AEE4
|
|
_021DD60A:
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD5C0
|
|
|
|
thumb_func_start MOD16_021DD610
|
|
MOD16_021DD610: ; 0x021DD610
|
|
push {r3, lr}
|
|
ldr r1, [r1, #0x10]
|
|
cmp r1, #0
|
|
bne _021DD62A
|
|
cmp r2, #0
|
|
bne _021DD62A
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_020179E0
|
|
_021DD62A:
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _021DD638 ; =0xFFFF1FFF
|
|
and r0, r1
|
|
str r0, [r2]
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021DD638: .word 0xFFFF1FFF
|
|
thumb_func_end MOD16_021DD610
|
|
|
|
thumb_func_start MOD16_021DD63C
|
|
MOD16_021DD63C: ; 0x021DD63C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0xf
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
add r2, r5, #0
|
|
bl FUN_02011898
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DD63C
|
|
|
|
thumb_func_start MOD16_021DD664
|
|
MOD16_021DD664: ; 0x021DD664
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x74]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
mov r6, #1
|
|
mov r4, #0
|
|
add r7, r6, #0
|
|
_021DD676:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #0x50]
|
|
add r1, r7, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #0x28]
|
|
cmp r0, #0
|
|
beq _021DD694
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_02011AF0
|
|
_021DD694:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #9
|
|
blt _021DD676
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD664
|
|
|
|
thumb_func_start MOD16_021DD6A0
|
|
MOD16_021DD6A0: ; 0x021DD6A0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x74]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
add r7, r4, #0
|
|
_021DD6B2:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #0x50]
|
|
add r1, r7, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #0x28]
|
|
cmp r0, #0
|
|
beq _021DD6D0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_02011AF0
|
|
_021DD6D0:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #9
|
|
blt _021DD6B2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD6A0
|
|
|
|
thumb_func_start MOD16_021DD6DC
|
|
MOD16_021DD6DC: ; 0x021DD6DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x24]
|
|
add r6, r1, #0
|
|
add r0, r0, #4
|
|
mov r1, #9
|
|
add r5, r2, #0
|
|
add r7, r3, #0
|
|
bl _s32_div_f
|
|
lsl r0, r1, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0202011C
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9D88
|
|
add r3, r0, #0
|
|
ldr r0, [r4]
|
|
add r2, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021D7E9C
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl MOD16_021D891C
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD6DC
|
|
|
|
thumb_func_start MOD16_021DD724
|
|
MOD16_021DD724: ; 0x021DD724
|
|
push {r3, r4, r5, lr}
|
|
add r5, r2, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021DD530
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #1
|
|
beq _021DD75E
|
|
cmp r4, #0
|
|
beq _021DD74C
|
|
mov r1, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
sub r2, #0x10
|
|
mov r3, #0x39
|
|
bl FUN_0200A208
|
|
pop {r3, r4, r5, pc}
|
|
_021DD74C:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
add r1, r0, #0
|
|
sub r1, #0x14
|
|
mov r2, #0
|
|
mov r3, #0x39
|
|
bl FUN_0200A208
|
|
_021DD75E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DD724
|
|
|
|
thumb_func_start MOD16_021DD760
|
|
MOD16_021DD760: ; 0x021DD760
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021DD5C0
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
beq _021DD77C
|
|
mov r0, #1
|
|
bl FUN_0200A344
|
|
b _021DD77E
|
|
_021DD77C:
|
|
mov r0, #1
|
|
_021DD77E:
|
|
cmp r7, #1
|
|
bne _021DD7BE
|
|
cmp r0, #1
|
|
bne _021DD7BE
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
beq _021DD7B0
|
|
cmp r6, #0
|
|
bne _021DD7B0
|
|
mov r0, #0xf
|
|
mvn r0, r0
|
|
mov r1, #0x3f
|
|
mov r2, #1
|
|
bl FUN_0200A274
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
_021DD7B0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DD610
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD7BE:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD760
|
|
|
|
thumb_func_start MOD16_021DD7C4
|
|
MOD16_021DD7C4: ; 0x021DD7C4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021DD664
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021DD530
|
|
cmp r4, #0
|
|
bne _021DD7F4
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD910
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD96C
|
|
_021DD7F4:
|
|
ldr r0, [r7, #0x10]
|
|
cmp r0, #1
|
|
beq _021DD84A
|
|
cmp r4, #0
|
|
beq _021DD826
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x28
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r2, r1, #0
|
|
sub r2, #0x14
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021DD826:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x28
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r3, r1, #0
|
|
sub r3, #0x14
|
|
bl MOD16_021D8988
|
|
_021DD84A:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD7C4
|
|
|
|
thumb_func_start MOD16_021DD850
|
|
MOD16_021DD850: ; 0x021DD850
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r2, #0
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021DD5C0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
beq _021DD876
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #0xc]
|
|
_021DD876:
|
|
cmp r6, #0
|
|
bne _021DD890
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD944
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DD9A0
|
|
str r0, [sp, #0x14]
|
|
b _021DD896
|
|
_021DD890:
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
_021DD896:
|
|
mov r1, #0
|
|
add r2, sp, #8
|
|
_021DD89A:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021DD8A8
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #4
|
|
blt _021DD89A
|
|
_021DD8A8:
|
|
cmp r1, #4
|
|
bne _021DD906
|
|
cmp r6, #0
|
|
bne _021DD8E0
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
beq _021DD8F6
|
|
mov r3, #0
|
|
add r0, r3, #0
|
|
str r3, [sp]
|
|
sub r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, _021DD90C ; =0x04000050
|
|
mov r1, #0x2e
|
|
mov r2, #8
|
|
bl G2x_SetBlendBrightnessExt_
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
b _021DD8F6
|
|
_021DD8E0:
|
|
add r0, r7, #0
|
|
bl MOD16_021DD6A0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D8950
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
_021DD8F6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DD610
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DD906:
|
|
mov r0, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DD90C: .word 0x04000050
|
|
thumb_func_end MOD16_021DD850
|
|
|
|
thumb_func_start MOD16_021DD910
|
|
MOD16_021DD910: ; 0x021DD910
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
mov r1, #0x48
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #4
|
|
add r1, #0xbc
|
|
str r0, [sp, #4]
|
|
add r0, r5, r1
|
|
mov r1, #0x38
|
|
mov r2, #0x30
|
|
mov r3, #0x50
|
|
bl MOD16_021D8BD8
|
|
mov r2, #0x41
|
|
lsl r2, r2, #2
|
|
ldr r1, [r5, r2]
|
|
add r2, r2, #4
|
|
ldr r0, [r4]
|
|
ldr r2, [r5, r2]
|
|
bl MOD16_021D86F4
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD910
|
|
|
|
thumb_func_start MOD16_021DD944
|
|
MOD16_021DD944: ; 0x021DD944
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r4, r1, #0
|
|
bl MOD16_021D8BF4
|
|
mov r2, #0x41
|
|
lsl r2, r2, #2
|
|
ldr r1, [r5, r2]
|
|
add r2, r2, #4
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r2, [r5, r2]
|
|
bl MOD16_021D86F4
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD944
|
|
|
|
thumb_func_start MOD16_021DD96C
|
|
MOD16_021DD96C: ; 0x021DD96C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
add r0, r5, r0
|
|
mov r1, #0xaa
|
|
mov r2, #0xac
|
|
mov r3, #0x52
|
|
bl MOD16_021D8BD8
|
|
mov r2, #0x49
|
|
lsl r2, r2, #2
|
|
ldr r1, [r5, r2]
|
|
add r2, r2, #4
|
|
ldr r0, [r4]
|
|
ldr r2, [r5, r2]
|
|
bl MOD16_021D7F6C
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DD96C
|
|
|
|
thumb_func_start MOD16_021DD9A0
|
|
MOD16_021DD9A0: ; 0x021DD9A0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r4, r1, #0
|
|
bl MOD16_021D8BF4
|
|
mov r2, #0x49
|
|
lsl r2, r2, #2
|
|
ldr r1, [r5, r2]
|
|
add r2, r2, #4
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r2, [r5, r2]
|
|
bl MOD16_021D7F6C
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD9A0
|
|
|
|
thumb_func_start MOD16_021DD9C8
|
|
MOD16_021DD9C8: ; 0x021DD9C8
|
|
ldr r3, [r0]
|
|
mov r1, #4
|
|
ldr r2, [r3]
|
|
orr r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
str r1, [r0, #0x14]
|
|
mov r1, #2
|
|
str r1, [r0, #0x20]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DD9C8
|
|
|
|
thumb_func_start MOD16_021DD9E0
|
|
MOD16_021DD9E0: ; 0x021DD9E0
|
|
ldr r3, [r1]
|
|
mov r0, #2
|
|
ldr r2, [r3]
|
|
orr r2, r0
|
|
str r2, [r3]
|
|
mov r3, #0
|
|
str r3, [r1, #0x10]
|
|
mov r2, #1
|
|
str r2, [r1, #0x14]
|
|
str r3, [r1, #0xc]
|
|
str r0, [r1, #0x20]
|
|
bx lr
|
|
thumb_func_end MOD16_021DD9E0
|
|
|
|
thumb_func_start MOD16_021DD9F8
|
|
MOD16_021DD9F8: ; 0x021DD9F8
|
|
push {r3, lr}
|
|
mov r1, #0x5d
|
|
ldr r2, [r0, #4]
|
|
lsl r1, r1, #6
|
|
ldr r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _021DDA24
|
|
ldr r3, [r0]
|
|
mov r1, #1
|
|
ldr r2, [r3]
|
|
orr r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
str r1, [r0, #0x14]
|
|
mov r1, #2
|
|
str r1, [r0, #0x20]
|
|
ldr r0, _021DDA28 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021DDA24:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021DDA28: .word 0x000005DD
|
|
thumb_func_end MOD16_021DD9F8
|
|
|
|
thumb_func_start MOD16_021DDA2C
|
|
MOD16_021DDA2C: ; 0x021DDA2C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r1, #0x5d
|
|
ldr r0, [r5, #4]
|
|
lsl r1, r1, #6
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #1
|
|
bne _021DDA46
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021DDA46:
|
|
bl MOD16_021D9D04
|
|
cmp r0, #0
|
|
bne _021DDA52
|
|
mov r4, #1
|
|
b _021DDA54
|
|
_021DDA52:
|
|
mov r4, #0
|
|
_021DDA54:
|
|
ldr r0, [r5, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021D9CD0
|
|
cmp r0, #0
|
|
beq _021DDAA8
|
|
ldr r0, [r5, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021D9CEC
|
|
ldr r0, _021DDAB0 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r4, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
ldr r0, [r5, #4]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl MOD16_021D9CB0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
bl MOD16_021D9D28
|
|
mov r3, #0
|
|
str r3, [r5, #0xc]
|
|
ldr r2, [r5]
|
|
mov r0, #0x10
|
|
ldr r1, [r2]
|
|
add sp, #0x10
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
str r3, [r5, #0x10]
|
|
str r3, [r5, #0x14]
|
|
mov r0, #2
|
|
str r0, [r5, #0x20]
|
|
str r3, [r5, #0x1c]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021DDAA8:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DDAB0: .word 0x000005DD
|
|
thumb_func_end MOD16_021DDA2C
|
|
|
|
thumb_func_start MOD16_021DDAB4
|
|
MOD16_021DDAB4: ; 0x021DDAB4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
bl MOD16_021D9DE8
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9D04
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r0, [r5, #4]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl MOD16_021D9CB0
|
|
ldr r2, [r5]
|
|
mov r0, #0x10
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
bl MOD16_021D9DC0
|
|
mov r2, #0
|
|
str r2, [r5, #0xc]
|
|
mov r0, #0x5d
|
|
ldr r1, [r5, #4]
|
|
lsl r0, r0, #6
|
|
str r2, [r1, r0]
|
|
str r2, [r5, #0x10]
|
|
str r2, [r5, #0x14]
|
|
str r2, [r5, #8]
|
|
mov r0, #2
|
|
str r0, [r5, #0x20]
|
|
str r2, [r5, #0x1c]
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DDAB4
|
|
|
|
thumb_func_start MOD16_021DDB0C
|
|
MOD16_021DDB0C: ; 0x021DDB0C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
add r4, r1, #0
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0x18]
|
|
bmi _021DDB42
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r4, #0
|
|
bl MOD16_021DC684
|
|
cmp r0, #0
|
|
beq _021DDB3C
|
|
ldr r2, [r5, #0x20]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC678
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
ldr r0, _021DDB54 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021DDB3C:
|
|
mov r0, #0
|
|
str r0, [r5, #0x18]
|
|
pop {r3, r4, r5, pc}
|
|
_021DDB42:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC4D4
|
|
mov r0, #0
|
|
str r0, [r5, #0x14]
|
|
str r0, [r4, #0x20]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021DDB54: .word 0x0000068B
|
|
thumb_func_end MOD16_021DDB0C
|
|
|
|
thumb_func_start MOD16_021DDB58
|
|
MOD16_021DDB58: ; 0x021DDB58
|
|
push {r3, r4, r5, lr}
|
|
ldr r2, _021DDC24 ; =0x021C48B8
|
|
add r4, r1, #0
|
|
ldr r3, [r2, #0x44]
|
|
add r5, r0, #0
|
|
mov r1, #0x40
|
|
add r0, r3, #0
|
|
tst r0, r1
|
|
beq _021DDB9A
|
|
add r0, r4, #0
|
|
sub r1, #0x41
|
|
bl MOD16_021DC684
|
|
cmp r0, #0
|
|
beq _021DDB8C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #2
|
|
bl MOD16_021DC678
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
ldr r0, _021DDC28 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021DDB8C:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC4D4
|
|
mov r0, #0
|
|
str r0, [r4, #0x20]
|
|
pop {r3, r4, r5, pc}
|
|
_021DDB9A:
|
|
mov r0, #0x80
|
|
tst r0, r3
|
|
beq _021DDBD0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021DC684
|
|
cmp r0, #0
|
|
beq _021DDBC2
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl MOD16_021DC678
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
ldr r0, _021DDC28 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021DDBC2:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC4D4
|
|
mov r0, #0
|
|
str r0, [r4, #0x20]
|
|
pop {r3, r4, r5, pc}
|
|
_021DDBD0:
|
|
ldr r1, [r2, #0x48]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021DDBF2
|
|
mov r0, #1
|
|
str r0, [r5, #0x14]
|
|
mov r0, #5
|
|
str r0, [r5, #0x18]
|
|
sub r0, r0, #6
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #2
|
|
str r0, [r5, #0x20]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC4E8
|
|
pop {r3, r4, r5, pc}
|
|
_021DDBF2:
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021DDC0E
|
|
mov r1, #1
|
|
str r1, [r5, #0x14]
|
|
mov r0, #5
|
|
str r0, [r5, #0x18]
|
|
str r1, [r5, #0x1c]
|
|
str r1, [r5, #0x20]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC4E8
|
|
pop {r3, r4, r5, pc}
|
|
_021DDC0E:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #1
|
|
bne _021DDC20
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DC4D4
|
|
mov r0, #0
|
|
str r0, [r4, #0x20]
|
|
_021DDC20:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021DDC24: .word 0x021C48B8
|
|
_021DDC28: .word 0x0000068B
|
|
thumb_func_end MOD16_021DDB58
|
|
|
|
thumb_func_start MOD16_021DDC2C
|
|
MOD16_021DDC2C: ; 0x021DDC2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021DDCA4
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DDCEC
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DDD14
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021DDD90
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021DDC74 ; =MOD16_021DDD94
|
|
str r0, [r5, #8]
|
|
ldr r0, _021DDC78 ; =MOD16_021DDDDC
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021DDC7C ; =MOD16_021DDE28
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021DDC80 ; =MOD16_021DDE3C
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021DDC84 ; =MOD16_021DDECC
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021DDC88 ; =MOD16_021DDF60
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DDC74: .word MOD16_021DDD94
|
|
_021DDC78: .word MOD16_021DDDDC
|
|
_021DDC7C: .word MOD16_021DDE28
|
|
_021DDC80: .word MOD16_021DDE3C
|
|
_021DDC84: .word MOD16_021DDECC
|
|
_021DDC88: .word MOD16_021DDF60
|
|
thumb_func_end MOD16_021DDC2C
|
|
|
|
thumb_func_start MOD16_021DDC8C
|
|
MOD16_021DDC8C: ; 0x021DDC8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021DDD50
|
|
ldr r0, [r4]
|
|
bl MOD16_021DDD64
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021DDD78
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DDC8C
|
|
|
|
thumb_func_start MOD16_021DDCA4
|
|
MOD16_021DDCA4: ; 0x021DDCA4
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
mov r1, #0x28
|
|
add r5, r0, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DDCB8
|
|
bl ErrorHandling
|
|
_021DDCB8:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x28
|
|
bl memset
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl MOD16_021D7B5C
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
str r0, [r4, #0x1c]
|
|
add r2, r4, #0
|
|
mov r0, #4
|
|
_021DDCD4:
|
|
add r1, r1, #1
|
|
stmia r2!, {r0}
|
|
cmp r1, #7
|
|
blt _021DDCD4
|
|
add r0, r6, #0
|
|
bl MOD16_021D7AEC
|
|
str r0, [r4, #0x20]
|
|
str r5, [r4, #0x24]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DDCA4
|
|
|
|
thumb_func_start MOD16_021DDCEC
|
|
MOD16_021DDCEC: ; 0x021DDCEC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DDCFE
|
|
bl ErrorHandling
|
|
_021DDCFE:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DDCEC
|
|
|
|
thumb_func_start MOD16_021DDD14
|
|
MOD16_021DDD14: ; 0x021DDD14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021DDD90
|
|
add r7, r0, #0
|
|
mov r1, #0x14
|
|
mul r7, r1
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DDD34
|
|
bl ErrorHandling
|
|
_021DDD34:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl memset
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021DAE94
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DDD14
|
|
|
|
thumb_func_start MOD16_021DDD50
|
|
MOD16_021DDD50: ; 0x021DDD50
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DDD5A
|
|
bl ErrorHandling
|
|
_021DDD5A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DDD50
|
|
|
|
thumb_func_start MOD16_021DDD64
|
|
MOD16_021DDD64: ; 0x021DDD64
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DDD6E
|
|
bl ErrorHandling
|
|
_021DDD6E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DDD64
|
|
|
|
thumb_func_start MOD16_021DDD78
|
|
MOD16_021DDD78: ; 0x021DDD78
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DDD82
|
|
bl ErrorHandling
|
|
_021DDD82:
|
|
add r0, r4, #0
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DDD78
|
|
|
|
thumb_func_start MOD16_021DDD90
|
|
MOD16_021DDD90: ; 0x021DDD90
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021DDD90
|
|
|
|
thumb_func_start MOD16_021DDD94
|
|
MOD16_021DDD94: ; 0x021DDD94
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
mov r1, #0x24
|
|
bl AllocFromHeap
|
|
str r0, [r5, #8]
|
|
cmp r0, #0
|
|
bne _021DDDAC
|
|
bl ErrorHandling
|
|
_021DDDAC:
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
bl memset
|
|
ldr r1, _021DDDD8 ; =0x000004CD
|
|
ldr r0, [r5, #8]
|
|
add r2, r4, #0
|
|
str r1, [r0, #0x1c]
|
|
mov r1, #0
|
|
mov r0, #4
|
|
_021DDDC2:
|
|
add r1, r1, #1
|
|
stmia r2!, {r0}
|
|
cmp r1, #7
|
|
blt _021DDDC2
|
|
ldr r0, [r5, #8]
|
|
ldr r2, [r5, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021DDFE0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021DDDD8: .word 0x000004CD
|
|
thumb_func_end MOD16_021DDD94
|
|
|
|
thumb_func_start MOD16_021DDDDC
|
|
MOD16_021DDDDC: ; 0x021DDDDC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021DDDEC
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021DDDEC:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021DDDF6
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021DDDF6:
|
|
ldr r2, [r5, #0x1c]
|
|
add r0, r4, #0
|
|
ldr r1, [r2, #0xc]
|
|
ldr r2, [r2, #8]
|
|
bl MOD16_021DE9B0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DE09C
|
|
ldr r0, [r5, #0x1c]
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
bne _021DDE1C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021DE824
|
|
b _021DDE22
|
|
_021DDE1C:
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
_021DDE22:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DDDDC
|
|
|
|
thumb_func_start MOD16_021DDE28
|
|
MOD16_021DDE28: ; 0x021DDE28
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DE0EC
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DDE28
|
|
|
|
thumb_func_start MOD16_021DDE3C
|
|
MOD16_021DDE3C: ; 0x021DDE3C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r3, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021DDEC8
|
|
add r5, r1, r1
|
|
add r5, pc
|
|
ldrh r5, [r5, #6]
|
|
lsl r5, r5, #0x10
|
|
asr r5, r5, #0x10
|
|
add pc, r5
|
|
_021DDE56: ; jump table
|
|
.short _021DDE60 - _021DDE56 - 2 ; case 0
|
|
.short _021DDE84 - _021DDE56 - 2 ; case 1
|
|
.short _021DDE94 - _021DDE56 - 2 ; case 2
|
|
.short _021DDEAE - _021DDE56 - 2 ; case 3
|
|
.short _021DDEC0 - _021DDE56 - 2 ; case 4
|
|
_021DDE60:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x3c
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _021DDE72
|
|
bl ErrorHandling
|
|
_021DDE72:
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x3c
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDEC8
|
|
_021DDE84:
|
|
add r1, r3, #0
|
|
ldr r3, [r4, #4]
|
|
bl MOD16_021DE1E0
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDEC8
|
|
_021DDE94:
|
|
mov r1, #0
|
|
mov r0, #2
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
sub r2, #0x10
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDEC8
|
|
_021DDEAE:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021DDEC8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDEC8
|
|
_021DDEC0:
|
|
add r0, r1, #1
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021DDEC8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DDE3C
|
|
|
|
thumb_func_start MOD16_021DDECC
|
|
MOD16_021DDECC: ; 0x021DDECC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, [r1, #8]
|
|
add r5, r2, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r5]
|
|
ldr r6, [r3, #8]
|
|
bl MOD16_021D7B98
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #4]
|
|
bl MOD16_021D7B98
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r5, #8]
|
|
bl MOD16_021D7B98
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r5, #0xc]
|
|
bl MOD16_021D7B98
|
|
ldr r0, [r4, #0x1c]
|
|
ldr r1, [r5, #0x10]
|
|
bl MOD16_021D7B98
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0xc]
|
|
sub r2, #0x13
|
|
mov r3, #3
|
|
bl MOD16_021DEA24
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r4, #0x10]
|
|
sub r2, #0x13
|
|
mov r3, #3
|
|
bl MOD16_021DEA24
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0x14]
|
|
sub r2, #0x13
|
|
mov r3, #2
|
|
bl MOD16_021DEA24
|
|
ldr r0, [r5, #0x1c]
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
bne _021DDF4E
|
|
mov r0, #0x83
|
|
ldr r1, [r6, #0xc]
|
|
lsl r0, r0, #2
|
|
bl FUN_0201BC84
|
|
add r2, r0, #0
|
|
ldr r3, [r6, #0x1c]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DE8D0
|
|
b _021DDF5C
|
|
_021DDF4E:
|
|
cmp r0, #1
|
|
bne _021DDF5C
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021DE93C
|
|
_021DDF5C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DDECC
|
|
|
|
thumb_func_start MOD16_021DDF60
|
|
MOD16_021DDF60: ; 0x021DDF60
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021DDFD8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DDF7C: ; jump table
|
|
.short _021DDF86 - _021DDF7C - 2 ; case 0
|
|
.short _021DDFA0 - _021DDF7C - 2 ; case 1
|
|
.short _021DDFB2 - _021DDF7C - 2 ; case 2
|
|
.short _021DDFC2 - _021DDF7C - 2 ; case 3
|
|
.short _021DDFD2 - _021DDF7C - 2 ; case 4
|
|
_021DDF86:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
add r1, r0, #0
|
|
sub r1, #0x14
|
|
mov r2, #0
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDFD8
|
|
_021DDFA0:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021DDFD8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDFD8
|
|
_021DDFB2:
|
|
add r1, r2, #0
|
|
ldr r2, [r4, #4]
|
|
bl MOD16_021DE228
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDFD8
|
|
_021DDFC2:
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DDFD8
|
|
_021DDFD2:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_021DDFD8:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DDF60
|
|
|
|
thumb_func_start MOD16_021DDFE0
|
|
MOD16_021DDFE0: ; 0x021DDFE0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x1c
|
|
bl AllocFromHeap
|
|
str r0, [r5, #8]
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x10
|
|
mov r2, #0x40
|
|
mov r3, #0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x40
|
|
add r0, r0, #4
|
|
mov r2, #0x70
|
|
mov r3, #0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x70
|
|
add r0, #8
|
|
mov r2, #0xc0
|
|
mov r3, #0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x84
|
|
str r0, [sp]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x38
|
|
add r0, #0xc
|
|
mov r2, #0x48
|
|
mov r3, #0x74
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x84
|
|
str r0, [sp]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x8a
|
|
add r0, #0x10
|
|
mov r2, #0x9a
|
|
mov r3, #0x74
|
|
bl MOD16_021D7C98
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0xfe
|
|
strb r1, [r0, #0x14]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0xf8
|
|
strb r1, [r0, #0x15]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x68
|
|
strb r1, [r0, #0x16]
|
|
ldr r0, [r5, #8]
|
|
mov r2, #0x10
|
|
strb r1, [r0, #0x17]
|
|
mov r0, #0xb4
|
|
str r0, [sp]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
add r0, #0x18
|
|
mov r3, #0x74
|
|
bl MOD16_021D7C98
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
add r3, r0, #0
|
|
str r5, [r3]
|
|
str r4, [r3, #4]
|
|
str r3, [r5, #4]
|
|
str r6, [sp]
|
|
ldr r0, [r5, #8]
|
|
ldr r2, _021DE098 ; =MOD16_021DE108
|
|
mov r1, #7
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021DE098: .word MOD16_021DE108
|
|
thumb_func_end MOD16_021DDFE0
|
|
|
|
thumb_func_start MOD16_021DE09C
|
|
MOD16_021DE09C: ; 0x021DE09C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #4
|
|
_021DE0A8:
|
|
add r1, r1, #1
|
|
stmia r2!, {r0}
|
|
cmp r1, #7
|
|
blt _021DE0A8
|
|
add r0, r4, #0
|
|
bl MOD16_021DEA34
|
|
ldr r0, [r5]
|
|
bl FUN_02022144
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
ldr r1, [r1, #4]
|
|
bl MOD16_021DEA5C
|
|
cmp r0, #0
|
|
bne _021DE0CE
|
|
mov r0, #0
|
|
str r0, [r5, #0xc]
|
|
_021DE0CE:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #4
|
|
ldr r0, [r5, #0x1c]
|
|
beq _021DE0E0
|
|
ldr r1, [r5, #0xc]
|
|
bl MOD16_021DEAFC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, pc}
|
|
_021DE0E0:
|
|
mov r1, #0
|
|
bl MOD16_021DEAFC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DE09C
|
|
|
|
thumb_func_start MOD16_021DE0EC
|
|
MOD16_021DE0EC: ; 0x021DE0EC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DE0EC
|
|
|
|
thumb_func_start MOD16_021DE108
|
|
MOD16_021DE108: ; 0x021DE108
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, [r2, #4]
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
ldr r4, [r2]
|
|
ldr r0, [r0, #4]
|
|
lsl r2, r6, #2
|
|
str r1, [r5, r2]
|
|
cmp r1, #0
|
|
beq _021DE122
|
|
cmp r1, #2
|
|
beq _021DE12E
|
|
b _021DE1D6
|
|
_021DE122:
|
|
ldr r0, _021DE1DC ; =0x021C48F8
|
|
ldrh r1, [r0, #0x1c]
|
|
str r1, [r4, #0x14]
|
|
ldrh r0, [r0, #0x1e]
|
|
str r0, [r4, #0x18]
|
|
pop {r4, r5, r6, pc}
|
|
_021DE12E:
|
|
cmp r6, #6
|
|
bhi _021DE1A2
|
|
add r1, r6, r6
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DE13E: ; jump table
|
|
.short _021DE14C - _021DE13E - 2 ; case 0
|
|
.short _021DE154 - _021DE13E - 2 ; case 1
|
|
.short _021DE15C - _021DE13E - 2 ; case 2
|
|
.short _021DE164 - _021DE13E - 2 ; case 3
|
|
.short _021DE174 - _021DE13E - 2 ; case 4
|
|
.short _021DE1A2 - _021DE13E - 2 ; case 5
|
|
.short _021DE18A - _021DE13E - 2 ; case 6
|
|
_021DE14C:
|
|
ldr r0, [r5, #0x1c]
|
|
mov r1, #1
|
|
str r1, [r0, #0x34]
|
|
b _021DE1A2
|
|
_021DE154:
|
|
ldr r0, [r5, #0x1c]
|
|
mov r1, #1
|
|
str r1, [r0, #0x30]
|
|
b _021DE1A2
|
|
_021DE15C:
|
|
ldr r0, [r5, #0x1c]
|
|
mov r1, #1
|
|
str r1, [r0, #0x2c]
|
|
b _021DE1A2
|
|
_021DE164:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _021DE1A2
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021DEAB8
|
|
b _021DE1A2
|
|
_021DE174:
|
|
ldr r1, [r4, #0x20]
|
|
cmp r1, #0
|
|
bne _021DE1A2
|
|
bl MOD16_021D9D94
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
sub r1, r1, #1
|
|
bl MOD16_021DEAB8
|
|
b _021DE1A2
|
|
_021DE18A:
|
|
ldr r0, [r5, #0x1c]
|
|
mov r1, #0x5d
|
|
ldr r2, [r0, #4]
|
|
lsl r1, r1, #6
|
|
ldr r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _021DE19E
|
|
mov r1, #1
|
|
str r1, [r0, #0x28]
|
|
b _021DE1A2
|
|
_021DE19E:
|
|
mov r1, #1
|
|
str r1, [r0, #0x24]
|
|
_021DE1A2:
|
|
cmp r6, #5
|
|
bne _021DE1D0
|
|
ldr r0, [r5, #0x1c]
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
bne _021DE1C6
|
|
add r0, r4, #0
|
|
bl MOD16_021DE8A0
|
|
ldr r1, [r4, #0xc]
|
|
cmp r1, #0x10
|
|
bgt _021DE1C6
|
|
mov r0, #0xf
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
blt _021DE1C6
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
_021DE1C6:
|
|
ldr r0, _021DE1DC ; =0x021C48F8
|
|
ldrh r1, [r0, #0x1c]
|
|
str r1, [r4, #0x14]
|
|
ldrh r0, [r0, #0x1e]
|
|
str r0, [r4, #0x18]
|
|
_021DE1D0:
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
pop {r4, r5, r6, pc}
|
|
_021DE1D6:
|
|
mov r0, #0
|
|
str r0, [r4, #0x20]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DE1DC: .word 0x021C48F8
|
|
thumb_func_end MOD16_021DE108
|
|
|
|
thumb_func_start MOD16_021DE1E0
|
|
MOD16_021DE1E0: ; 0x021DE1E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DE254
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DE788
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DE308
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021DE3FC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021DE594
|
|
mov r0, #7
|
|
mov r1, #3
|
|
bl FUN_020178BC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DE1E0
|
|
|
|
thumb_func_start MOD16_021DE228
|
|
MOD16_021DE228: ; 0x021DE228
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl MOD16_021DE768
|
|
add r0, r5, #0
|
|
bl MOD16_021DE568
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DE3B8
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DE808
|
|
mov r0, #7
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DE228
|
|
|
|
thumb_func_start MOD16_021DE254
|
|
MOD16_021DE254: ; 0x021DE254
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r7, r1, #0
|
|
ldr r6, [r0]
|
|
mov r1, #0
|
|
add r4, r2, #0
|
|
str r1, [sp]
|
|
str r4, [sp, #4]
|
|
mov r2, #4
|
|
add r3, r1, #0
|
|
bl MOD16_021D8CFC
|
|
ldr r0, [r7, #0x1c]
|
|
mov r1, #0x5d
|
|
ldr r0, [r0, #4]
|
|
lsl r1, r1, #6
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #1
|
|
bne _021DE292
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #4
|
|
mov r3, #0x60
|
|
bl MOD16_021D8CFC
|
|
b _021DE2AC
|
|
_021DE292:
|
|
bl MOD16_021D9D04
|
|
cmp r0, #1
|
|
bne _021DE2AC
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r5]
|
|
mov r1, #0x19
|
|
mov r2, #4
|
|
mov r3, #0x60
|
|
bl MOD16_021D8CFC
|
|
_021DE2AC:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
mov r1, #0x1d
|
|
add r2, r6, #0
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x29
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r4, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DE254
|
|
|
|
thumb_func_start MOD16_021DE308
|
|
MOD16_021DE308: ; 0x021DE308
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021DE3A8 ; =0x0000043C
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x54
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x2c]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x2c]
|
|
bl FUN_02009474
|
|
ldr r0, _021DE3AC ; =0x000003EB
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x30]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x30]
|
|
bl FUN_02009474
|
|
ldr r0, _021DE3B0 ; =0x0000043A
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x52
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x34]
|
|
ldr r0, _021DE3B4 ; =0x0000043B
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x53
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x38]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DE3A8: .word 0x0000043C
|
|
_021DE3AC: .word 0x000003EB
|
|
_021DE3B0: .word 0x0000043A
|
|
_021DE3B4: .word 0x0000043B
|
|
thumb_func_end MOD16_021DE308
|
|
|
|
thumb_func_start MOD16_021DE3B8
|
|
MOD16_021DE3B8: ; 0x021DE3B8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x2c]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x30]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x2c]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x30]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x34]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x38]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DE3B8
|
|
|
|
thumb_func_start MOD16_021DE3FC
|
|
MOD16_021DE3FC: ; 0x021DE3FC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
add r7, r3, #0
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
ldr r4, [r1]
|
|
ldr r3, _021DE564 ; =0x0000043B
|
|
add r6, r2, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #5
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x50
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #8
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x34]
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
str r7, [sp, #0x48]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
mov r1, #2
|
|
bl FUN_02020130
|
|
ldr r0, [r6, #0x1c]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _021DE494
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021DE494:
|
|
mov r0, #3
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0x16
|
|
str r0, [sp, #0x34]
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #4]
|
|
mov r1, #0
|
|
bl FUN_02020130
|
|
ldr r0, [r6, #0x1c]
|
|
mov r1, #1
|
|
ldr r0, [r0, #4]
|
|
bl MOD16_021D9CD0
|
|
cmp r0, #0
|
|
beq _021DE4D0
|
|
ldr r0, [r6, #0x1c]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _021DE4D8
|
|
_021DE4D0:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021DE4D8:
|
|
mov r0, #3
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0x26
|
|
str r0, [sp, #0x34]
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
mov r1, #1
|
|
str r0, [r5, #8]
|
|
bl FUN_02020130
|
|
mov r0, #0x1f
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r1, #1
|
|
mov r0, #3
|
|
lsl r1, r1, #0x12
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
mov r1, #3
|
|
str r0, [r5, #0x18]
|
|
bl FUN_02020130
|
|
mov r0, #0x1f
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0x92
|
|
mov r0, #3
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
mov r1, #4
|
|
str r0, [r5, #0x1c]
|
|
bl FUN_02020130
|
|
mov r0, #0x1f
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r1, #2
|
|
mov r0, #3
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
mov r1, #5
|
|
str r0, [r5, #0x20]
|
|
bl FUN_02020130
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DE564: .word 0x0000043B
|
|
thumb_func_end MOD16_021DE3FC
|
|
|
|
thumb_func_start MOD16_021DE568
|
|
MOD16_021DE568: ; 0x021DE568
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #4]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #8]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x18]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x20]
|
|
bl FUN_0201FFC8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DE568
|
|
|
|
thumb_func_start MOD16_021DE594
|
|
MOD16_021DE594: ; 0x021DE594
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
ldr r4, [r1]
|
|
cmp r0, #0
|
|
bne _021DE5AA
|
|
bl ErrorHandling
|
|
_021DE5AA:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021DE760 ; =0x000003EB
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
mov r1, #0x27
|
|
mvn r1, r1
|
|
str r1, [sp, #0x28]
|
|
add r1, #0x1a
|
|
str r1, [sp, #0x2c]
|
|
mov r1, #0
|
|
str r1, [sp, #0x30]
|
|
str r1, [sp, #0x34]
|
|
mov r1, #2
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x38]
|
|
str r7, [sp, #0x3c]
|
|
bl FUN_0201E28C
|
|
add r7, r0, #0
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa
|
|
mov r2, #4
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, _021DE764 ; =0x00000266
|
|
mov r3, #7
|
|
bl MOD16_021DB3C8
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0x18
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0xc]
|
|
ldr r0, [r0]
|
|
add r1, r7, #3
|
|
bl FUN_02011A60
|
|
ldr r0, [r6, #0x1c]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _021DE638
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
_021DE638:
|
|
ldr r0, [sp, #0x10]
|
|
bl MOD16_021DB3BC
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa
|
|
mov r2, #4
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, _021DE764 ; =0x00000266
|
|
mov r3, #5
|
|
bl MOD16_021DB3C8
|
|
ldr r0, [sp, #8]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0x18
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r0]
|
|
add r1, r7, #3
|
|
bl FUN_02011A60
|
|
ldr r0, [r6, #0x1c]
|
|
mov r1, #1
|
|
ldr r0, [r0, #4]
|
|
bl MOD16_021D9CD0
|
|
cmp r0, #0
|
|
beq _021DE698
|
|
ldr r0, [r6, #0x1c]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _021DE6A2
|
|
_021DE698:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
_021DE6A2:
|
|
ldr r0, [sp, #8]
|
|
bl MOD16_021DB3BC
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa
|
|
mov r2, #4
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, _021DE764 ; =0x00000266
|
|
mov r3, #0x1d
|
|
bl MOD16_021DB3C8
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #8]
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0x18
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x14]
|
|
ldr r0, [r0]
|
|
add r1, r7, #2
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB3BC
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xe
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6, #0x1c]
|
|
ldr r2, _021DE764 ; =0x00000266
|
|
ldr r1, [r0, #4]
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021DE722
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0xc]
|
|
mov r3, #0x6a
|
|
bl MOD16_021DB3C8
|
|
b _021DE736
|
|
_021DE722:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0xc]
|
|
mov r3, #0x6b
|
|
bl MOD16_021DB3C8
|
|
_021DE736:
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #0x20]
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x28]
|
|
sub r0, #0x12
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x18
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x24]
|
|
ldr r0, [r0]
|
|
add r1, r7, #1
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #0xc]
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DE760: .word 0x000003EB
|
|
_021DE764: .word 0x00000266
|
|
thumb_func_end MOD16_021DE594
|
|
|
|
thumb_func_start MOD16_021DE768
|
|
MOD16_021DE768: ; 0x021DE768
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021DB338
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021DB338
|
|
ldr r0, [r4, #0x14]
|
|
bl MOD16_021DB338
|
|
ldr r0, [r4, #0x24]
|
|
bl MOD16_021DB338
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DE768
|
|
|
|
thumb_func_start MOD16_021DE788
|
|
MOD16_021DE788: ; 0x021DE788
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r1, #0
|
|
ldr r4, [r0]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
mov r1, #0x1b
|
|
add r2, r4, #0
|
|
mov r3, #7
|
|
bl MOD16_021D8CB4
|
|
str r6, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x25
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #7
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl FUN_0201AC68
|
|
mov r2, #0
|
|
add r3, r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
sub r3, #0x78
|
|
bl FUN_020179E0
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_020179E0
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DE788
|
|
|
|
thumb_func_start MOD16_021DE808
|
|
MOD16_021DE808: ; 0x021DE808
|
|
push {r4, lr}
|
|
ldr r0, [r0]
|
|
add r3, r1, #0
|
|
ldr r4, [r0]
|
|
mov r0, #7
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl FUN_02018744
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DE808
|
|
|
|
thumb_func_start MOD16_021DE824
|
|
MOD16_021DE824: ; 0x021DE824
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r2, [r4, #0x1c]
|
|
add r5, r0, #0
|
|
ldr r3, [r2, #0xc]
|
|
ldr r1, [r2, #4]
|
|
cmp r3, #0
|
|
bgt _021DE860
|
|
ldr r3, [r5, #0x10]
|
|
cmp r3, #0
|
|
beq _021DE85C
|
|
bl MOD16_021DEA84
|
|
cmp r0, #0
|
|
bne _021DE84C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DEAAC
|
|
b _021DE860
|
|
_021DE84C:
|
|
mov r1, #0xa
|
|
ldr r0, [r4, #0x1c]
|
|
lsl r1, r1, #6
|
|
str r1, [r0, #0xc]
|
|
ldr r0, _021DE89C ; =0x0000068B
|
|
bl FUN_020054C8
|
|
b _021DE860
|
|
_021DE85C:
|
|
mov r0, #0
|
|
str r0, [r2, #8]
|
|
_021DE860:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bge _021DE86E
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #1
|
|
str r1, [r0, #8]
|
|
b _021DE876
|
|
_021DE86E:
|
|
ble _021DE876
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #2
|
|
str r1, [r0, #8]
|
|
_021DE876:
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r0, [r2, #8]
|
|
cmp r0, #0
|
|
beq _021DE898
|
|
ldr r1, [r5, #0x10]
|
|
cmp r1, #0
|
|
bge _021DE886
|
|
neg r1, r1
|
|
_021DE886:
|
|
ldr r0, [r2, #0xc]
|
|
sub r0, r0, r1
|
|
str r0, [r2, #0xc]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
bge _021DE898
|
|
mov r0, #0
|
|
str r0, [r1, #0xc]
|
|
_021DE898:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021DE89C: .word 0x0000068B
|
|
thumb_func_end MOD16_021DE824
|
|
|
|
thumb_func_start MOD16_021DE8A0
|
|
MOD16_021DE8A0: ; 0x021DE8A0
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #0x83
|
|
lsl r0, r0, #2
|
|
str r0, [sp]
|
|
ldr r3, _021DE8CC ; =0x021C48F8
|
|
ldr r0, [r4, #0x14]
|
|
ldrh r2, [r3, #0x1c]
|
|
ldrh r3, [r3, #0x1e]
|
|
ldr r1, [r4, #0x18]
|
|
sub r0, #0xf8
|
|
sub r1, #0x68
|
|
sub r2, #0xf8
|
|
sub r3, #0x68
|
|
bl FUN_0201BBD0
|
|
mov r1, #0xa
|
|
mul r1, r0
|
|
str r1, [r4, #0xc]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021DE8CC: .word 0x021C48F8
|
|
thumb_func_end MOD16_021DE8A0
|
|
|
|
thumb_func_start MOD16_021DE8D0
|
|
MOD16_021DE8D0: ; 0x021DE8D0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
lsl r0, r2, #0xc
|
|
add r4, r1, #0
|
|
asr r6, r3, #0x1f
|
|
add r2, r3, #0
|
|
asr r1, r0, #0x1f
|
|
add r3, r6, #0
|
|
bl _ll_mul
|
|
mov r3, #2
|
|
mov r6, #0
|
|
lsl r3, r3, #0xa
|
|
add r3, r0, r3
|
|
adc r1, r6
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r3, #0xc
|
|
orr r1, r0
|
|
asr r0, r1, #0xc
|
|
ldrh r2, [r5, #0x28]
|
|
mov r1, #0xb6
|
|
add r0, r2, r0
|
|
strh r0, [r5, #0x28]
|
|
ldrh r0, [r5, #0x28]
|
|
strh r0, [r5, #0x28]
|
|
bl _s32_div_f
|
|
add r3, r0, #0
|
|
ldr r0, [r4]
|
|
lsl r3, r3, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #7
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x10
|
|
bl FUN_0201AF08
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
mov r2, #9
|
|
mov r3, #0x80
|
|
bl FUN_0201AF50
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
mov r2, #0xc
|
|
mov r3, #0x68
|
|
bl FUN_0201AF50
|
|
ldrh r0, [r5, #0x28]
|
|
strh r0, [r5, #0x2a]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DE8D0
|
|
|
|
thumb_func_start MOD16_021DE93C
|
|
MOD16_021DE93C: ; 0x021DE93C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
ldr r6, [r7, #0x1c]
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r1, #0xa
|
|
ldr r0, [r6, #0xc]
|
|
lsl r1, r1, #6
|
|
sub r2, r1, r0
|
|
ldr r0, _021DE9AC ; =0x000011C7
|
|
mul r0, r2
|
|
bl _s32_div_f
|
|
ldr r1, [r6, #8]
|
|
cmp r1, #1
|
|
bne _021DE95E
|
|
neg r0, r0
|
|
_021DE95E:
|
|
ldrh r1, [r5, #0x2a]
|
|
add r0, r1, r0
|
|
strh r0, [r5, #0x28]
|
|
ldrh r0, [r5, #0x28]
|
|
mov r1, #0xb6
|
|
strh r0, [r5, #0x28]
|
|
bl _s32_div_f
|
|
add r3, r0, #0
|
|
ldr r0, [r4]
|
|
lsl r3, r3, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
lsr r3, r3, #0x10
|
|
bl FUN_0201AF08
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
mov r2, #9
|
|
mov r3, #0x80
|
|
bl FUN_0201AF50
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
mov r2, #0xc
|
|
mov r3, #0x68
|
|
bl FUN_0201AF50
|
|
ldr r0, [r7, #0x1c]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
bne _021DE9A8
|
|
ldrh r0, [r5, #0x28]
|
|
strh r0, [r5, #0x2a]
|
|
_021DE9A8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DE9AC: .word 0x000011C7
|
|
thumb_func_end MOD16_021DE93C
|
|
|
|
thumb_func_start MOD16_021DE9B0
|
|
MOD16_021DE9B0: ; 0x021DE9B0
|
|
push {r3, r4}
|
|
ldr r3, [r0, #0xc]
|
|
cmp r3, #0
|
|
ble _021DE9C8
|
|
sub r3, r3, #2
|
|
cmp r3, #4
|
|
blt _021DE9C2
|
|
str r3, [r0, #0xc]
|
|
b _021DE9D8
|
|
_021DE9C2:
|
|
mov r3, #4
|
|
str r3, [r0, #0xc]
|
|
b _021DE9D8
|
|
_021DE9C8:
|
|
add r4, r3, #2
|
|
mov r3, #3
|
|
mvn r3, r3
|
|
cmp r4, r3
|
|
bgt _021DE9D6
|
|
str r4, [r0, #0xc]
|
|
b _021DE9D8
|
|
_021DE9D6:
|
|
str r3, [r0, #0xc]
|
|
_021DE9D8:
|
|
ldr r3, [r0, #0xc]
|
|
str r3, [r0, #0x10]
|
|
ldr r4, [r0, #0xc]
|
|
cmp r4, #0x21
|
|
bgt _021DEA1A
|
|
mov r3, #0x20
|
|
mvn r3, r3
|
|
cmp r4, r3
|
|
blt _021DEA1A
|
|
cmp r1, #0
|
|
bne _021DEA08
|
|
mov r3, #0
|
|
str r3, [r0, #0x10]
|
|
ldr r2, [r0, #0xc]
|
|
cmp r2, #4
|
|
bgt _021DEA1A
|
|
sub r1, r3, #4
|
|
cmp r2, r1
|
|
blt _021DEA1A
|
|
ldr r1, _021DEA20 ; =0x000004CD
|
|
str r3, [r0, #0xc]
|
|
str r1, [r0, #0x1c]
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021DEA08:
|
|
cmp r2, #1
|
|
bne _021DEA14
|
|
str r3, [r0, #0x10]
|
|
str r3, [r0, #0xc]
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021DEA14:
|
|
mov r1, #0x21
|
|
str r1, [r0, #0x10]
|
|
str r1, [r0, #0xc]
|
|
_021DEA1A:
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_021DEA20: .word 0x000004CD
|
|
thumb_func_end MOD16_021DE9B0
|
|
|
|
thumb_func_start MOD16_021DEA24
|
|
MOD16_021DEA24: ; 0x021DEA24
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
bl MOD16_021D7C70
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021DEA24
|
|
|
|
thumb_func_start MOD16_021DEA34
|
|
MOD16_021DEA34: ; 0x021DEA34
|
|
ldr r2, [r0, #0x1c]
|
|
ldr r1, [r2, #0x2c]
|
|
cmp r1, #0
|
|
beq _021DEA42
|
|
mov r1, #2
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
_021DEA42:
|
|
ldr r1, [r2, #0x34]
|
|
cmp r1, #0
|
|
beq _021DEA4E
|
|
mov r1, #2
|
|
str r1, [r0]
|
|
bx lr
|
|
_021DEA4E:
|
|
ldr r1, [r2, #0x30]
|
|
cmp r1, #0
|
|
beq _021DEA58
|
|
mov r1, #2
|
|
str r1, [r0, #4]
|
|
_021DEA58:
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEA34
|
|
|
|
thumb_func_start MOD16_021DEA5C
|
|
MOD16_021DEA5C: ; 0x021DEA5C
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
beq _021DEA7E
|
|
bge _021DEA6A
|
|
mov r2, #1
|
|
b _021DEA6E
|
|
_021DEA6A:
|
|
mov r2, #0
|
|
mvn r2, r2
|
|
_021DEA6E:
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
bl MOD16_021D9EA8
|
|
cmp r0, #0
|
|
bne _021DEA7E
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021DEA7E:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEA5C
|
|
|
|
thumb_func_start MOD16_021DEA84
|
|
MOD16_021DEA84: ; 0x021DEA84
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
beq _021DEAA6
|
|
bge _021DEA92
|
|
mov r2, #1
|
|
b _021DEA96
|
|
_021DEA92:
|
|
mov r2, #0
|
|
mvn r2, r2
|
|
_021DEA96:
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
bl MOD16_021D9E70
|
|
cmp r0, #0
|
|
bne _021DEAA6
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021DEAA6:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEA84
|
|
|
|
thumb_func_start MOD16_021DEAAC
|
|
MOD16_021DEAAC: ; 0x021DEAAC
|
|
mov r2, #0
|
|
str r2, [r0, #0x10]
|
|
str r2, [r0, #0xc]
|
|
ldr r0, [r1, #0x1c]
|
|
str r2, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MOD16_021DEAAC
|
|
|
|
thumb_func_start MOD16_021DEAB8
|
|
MOD16_021DEAB8: ; 0x021DEAB8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
add r5, r1, #0
|
|
bl MOD16_021DC0E4
|
|
cmp r0, #0
|
|
beq _021DEAF8
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, r5, #0
|
|
ldr r0, [r0, #4]
|
|
bl MOD16_021D9D28
|
|
ldr r1, [r4, #0x20]
|
|
mov r2, #1
|
|
ldr r0, [r1]
|
|
mov r3, #2
|
|
orr r0, r2
|
|
str r0, [r1]
|
|
ldr r1, [r4, #0x1c]
|
|
mov r0, #0
|
|
str r0, [r1, #0xc]
|
|
ldr r1, [r4, #0x1c]
|
|
str r3, [r1, #0x20]
|
|
ldr r1, [r4, #0x1c]
|
|
str r2, [r1, #0x10]
|
|
ldr r1, [r4, #0x1c]
|
|
str r0, [r1, #0x14]
|
|
ldr r1, [r4, #0x1c]
|
|
str r0, [r1, #8]
|
|
ldr r1, [r4, #0x1c]
|
|
str r0, [r1, #0x1c]
|
|
_021DEAF8:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEAB8
|
|
|
|
thumb_func_start MOD16_021DEAFC
|
|
MOD16_021DEAFC: ; 0x021DEAFC
|
|
cmp r1, #0
|
|
bge _021DEB02
|
|
neg r1, r1
|
|
_021DEB02:
|
|
cmp r1, #0x40
|
|
bge _021DEB14
|
|
add r2, r0, #0
|
|
ldr r1, _021DEB24 ; =0x000004CD
|
|
sub r2, #0x29
|
|
cmp r2, r1
|
|
blt _021DEB22
|
|
sub r0, #0x29
|
|
bx lr
|
|
_021DEB14:
|
|
ldr r1, _021DEB28 ; =0x00000333
|
|
add r2, r0, r1
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
cmp r2, r1
|
|
bgt _021DEB22
|
|
add r0, r2, #0
|
|
_021DEB22:
|
|
bx lr
|
|
.align 2, 0
|
|
_021DEB24: .word 0x000004CD
|
|
_021DEB28: .word 0x00000333
|
|
thumb_func_end MOD16_021DEAFC
|
|
|
|
thumb_func_start MOD16_021DEB2C
|
|
MOD16_021DEB2C: ; 0x021DEB2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021DEC64
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DECA0
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DECC8
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021DED44
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021DEB74 ; =MOD16_021DED48
|
|
str r0, [r5, #8]
|
|
ldr r0, _021DEB78 ; =MOD16_021DED80
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021DEB7C ; =MOD16_021DEEA4
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021DEB80 ; =MOD16_021DEEB8
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021DEB84 ; =MOD16_021DEF34
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021DEB88 ; =MOD16_021DEF70
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DEB74: .word MOD16_021DED48
|
|
_021DEB78: .word MOD16_021DED80
|
|
_021DEB7C: .word MOD16_021DEEA4
|
|
_021DEB80: .word MOD16_021DEEB8
|
|
_021DEB84: .word MOD16_021DEF34
|
|
_021DEB88: .word MOD16_021DEF70
|
|
thumb_func_end MOD16_021DEB2C
|
|
|
|
thumb_func_start MOD16_021DEB8C
|
|
MOD16_021DEB8C: ; 0x021DEB8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021DED04
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DED18
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021DED2C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DEB8C
|
|
|
|
thumb_func_start MOD16_021DEBA4
|
|
MOD16_021DEBA4: ; 0x021DEBA4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r4, [r0]
|
|
cmp r5, #4
|
|
blt _021DEBB2
|
|
bl ErrorHandling
|
|
_021DEBB2:
|
|
str r5, [r4, #0xc]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEBA4
|
|
|
|
thumb_func_start MOD16_021DEBB8
|
|
MOD16_021DEBB8: ; 0x021DEBB8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEBB8
|
|
|
|
thumb_func_start MOD16_021DEBC0
|
|
MOD16_021DEBC0: ; 0x021DEBC0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r4, [r0]
|
|
cmp r5, #6
|
|
blt _021DEBCE
|
|
bl ErrorHandling
|
|
_021DEBCE:
|
|
str r5, [r4, #0x10]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEBC0
|
|
|
|
thumb_func_start MOD16_021DEBD4
|
|
MOD16_021DEBD4: ; 0x021DEBD4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEBD4
|
|
|
|
thumb_func_start MOD16_021DEBDC
|
|
MOD16_021DEBDC: ; 0x021DEBDC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r4, [r0]
|
|
cmp r5, #0xa
|
|
blt _021DEBEA
|
|
bl ErrorHandling
|
|
_021DEBEA:
|
|
str r5, [r4, #0x14]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEBDC
|
|
|
|
thumb_func_start MOD16_021DEBF0
|
|
MOD16_021DEBF0: ; 0x021DEBF0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEBF0
|
|
|
|
thumb_func_start MOD16_021DEBF8
|
|
MOD16_021DEBF8: ; 0x021DEBF8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
ldr r4, [r0]
|
|
cmp r5, #0x12
|
|
blt _021DEC08
|
|
bl ErrorHandling
|
|
_021DEC08:
|
|
cmp r6, #0
|
|
bne _021DEC10
|
|
str r5, [r4, #0x18]
|
|
pop {r4, r5, r6, pc}
|
|
_021DEC10:
|
|
str r5, [r4, #0x1c]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DEBF8
|
|
|
|
thumb_func_start MOD16_021DEC14
|
|
MOD16_021DEC14: ; 0x021DEC14
|
|
ldr r0, [r0]
|
|
cmp r1, #0
|
|
bne _021DEC1E
|
|
ldr r0, [r0, #0x18]
|
|
bx lr
|
|
_021DEC1E:
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC14
|
|
|
|
thumb_func_start MOD16_021DEC24
|
|
MOD16_021DEC24: ; 0x021DEC24
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r4, [r0]
|
|
cmp r5, #0xf
|
|
blt _021DEC32
|
|
bl ErrorHandling
|
|
_021DEC32:
|
|
str r5, [r4, #0x20]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC24
|
|
|
|
thumb_func_start MOD16_021DEC38
|
|
MOD16_021DEC38: ; 0x021DEC38
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC38
|
|
|
|
thumb_func_start MOD16_021DEC40
|
|
MOD16_021DEC40: ; 0x021DEC40
|
|
ldr r2, [r0]
|
|
mov r0, #1
|
|
str r0, [r2, #0x24]
|
|
str r1, [r2, #0x28]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC40
|
|
|
|
thumb_func_start MOD16_021DEC4C
|
|
MOD16_021DEC4C: ; 0x021DEC4C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x28]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC4C
|
|
|
|
thumb_func_start MOD16_021DEC54
|
|
MOD16_021DEC54: ; 0x021DEC54
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x30]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC54
|
|
|
|
thumb_func_start MOD16_021DEC5C
|
|
MOD16_021DEC5C: ; 0x021DEC5C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x34]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEC5C
|
|
|
|
thumb_func_start MOD16_021DEC64
|
|
MOD16_021DEC64: ; 0x021DEC64
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x38
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DEC76
|
|
bl ErrorHandling
|
|
_021DEC76:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x38
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021D7B5C
|
|
ldr r0, [r0]
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DEC64
|
|
|
|
thumb_func_start MOD16_021DECA0
|
|
MOD16_021DECA0: ; 0x021DECA0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DECB2
|
|
bl ErrorHandling
|
|
_021DECB2:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DECA0
|
|
|
|
thumb_func_start MOD16_021DECC8
|
|
MOD16_021DECC8: ; 0x021DECC8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021DED44
|
|
add r7, r0, #0
|
|
mov r1, #0x14
|
|
mul r7, r1
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DECE8
|
|
bl ErrorHandling
|
|
_021DECE8:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #2
|
|
bl MOD16_021DAE0C
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DECC8
|
|
|
|
thumb_func_start MOD16_021DED04
|
|
MOD16_021DED04: ; 0x021DED04
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DED0E
|
|
bl ErrorHandling
|
|
_021DED0E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DED04
|
|
|
|
thumb_func_start MOD16_021DED18
|
|
MOD16_021DED18: ; 0x021DED18
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DED22
|
|
bl ErrorHandling
|
|
_021DED22:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DED18
|
|
|
|
thumb_func_start MOD16_021DED2C
|
|
MOD16_021DED2C: ; 0x021DED2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DED36
|
|
bl ErrorHandling
|
|
_021DED36:
|
|
add r0, r4, #0
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DED2C
|
|
|
|
thumb_func_start MOD16_021DED44
|
|
MOD16_021DED44: ; 0x021DED44
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021DED44
|
|
|
|
thumb_func_start MOD16_021DED48
|
|
MOD16_021DED48: ; 0x021DED48
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r6, r0, #0
|
|
bne _021DED5E
|
|
bl ErrorHandling
|
|
_021DED5E:
|
|
mov r0, #0
|
|
strb r0, [r6]
|
|
strb r0, [r6, #1]
|
|
strb r0, [r6, #2]
|
|
strb r0, [r6, #3]
|
|
str r6, [r5, #8]
|
|
str r0, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
str r0, [r4, #0x1c]
|
|
str r0, [r4, #0x20]
|
|
str r0, [r4, #0x24]
|
|
str r0, [r4, #0x28]
|
|
str r0, [r4, #0x30]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DED48
|
|
|
|
thumb_func_start MOD16_021DED80
|
|
MOD16_021DED80: ; 0x021DED80
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r4, r1, #0
|
|
cmp r0, #1
|
|
bne _021DED94
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021DED94:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #1
|
|
bne _021DEDA0
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021DEDA0:
|
|
ldr r0, [r5]
|
|
cmp r0, #4
|
|
bhi _021DEE96
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DEDB2: ; jump table
|
|
.short _021DEDBC - _021DEDB2 - 2 ; case 0
|
|
.short _021DEDF2 - _021DEDB2 - 2 ; case 1
|
|
.short _021DEE10 - _021DEDB2 - 2 ; case 2
|
|
.short _021DEE20 - _021DEDB2 - 2 ; case 3
|
|
.short _021DEE84 - _021DEDB2 - 2 ; case 4
|
|
_021DEDBC:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _021DEDC6
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
_021DEDC6:
|
|
ldr r0, [r4, #0x24]
|
|
cmp r0, #1
|
|
bne _021DEE9A
|
|
ldr r0, [r4, #0x28]
|
|
cmp r0, #0
|
|
bne _021DEDE2
|
|
ldr r2, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r0, #4
|
|
str r0, [r4, #0x30]
|
|
b _021DEE9A
|
|
_021DEDE2:
|
|
mov r0, #1
|
|
str r0, [r4, #0x30]
|
|
mov r0, #4
|
|
str r0, [r4, #0x34]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DEE9A
|
|
_021DEDF2:
|
|
ldr r0, [r4, #0x34]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x34]
|
|
bpl _021DEE9A
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
mov r0, #2
|
|
str r0, [r4, #0x30]
|
|
mov r0, #0x20
|
|
str r0, [r4, #0x34]
|
|
ldr r0, _021DEEA0 ; =0x000005FF
|
|
bl FUN_020054C8
|
|
b _021DEE9A
|
|
_021DEE10:
|
|
ldr r0, [r4, #0x34]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x34]
|
|
bpl _021DEE9A
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DEE9A
|
|
_021DEE20:
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9D04
|
|
ldr r1, [r4, #0x1c]
|
|
str r1, [sp]
|
|
ldr r1, [r4, #0x20]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r2, [r4, #0x14]
|
|
ldr r3, [r4, #0x18]
|
|
bl MOD16_021D9A90
|
|
cmp r0, #1
|
|
bne _021DEE6A
|
|
ldr r2, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl MOD16_021D9E3C
|
|
mov r0, #0x5d
|
|
ldr r1, [r4, #4]
|
|
mov r2, #1
|
|
lsl r0, r0, #6
|
|
str r2, [r1, r0]
|
|
ldr r0, [r4, #8]
|
|
str r2, [r0, #0x18]
|
|
b _021DEE9A
|
|
_021DEE6A:
|
|
mov r0, #0
|
|
str r0, [r4, #0x28]
|
|
str r0, [r4, #0x24]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
str r0, [r4, #0x30]
|
|
mov r0, #4
|
|
str r0, [r4, #0x34]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DEE9A
|
|
_021DEE84:
|
|
ldr r0, [r4, #0x34]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x34]
|
|
bpl _021DEE9A
|
|
mov r0, #0
|
|
str r0, [r4, #0x30]
|
|
str r0, [r4, #0x34]
|
|
str r0, [r5]
|
|
b _021DEE9A
|
|
_021DEE96:
|
|
bl ErrorHandling
|
|
_021DEE9A:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_021DEEA0: .word 0x000005FF
|
|
thumb_func_end MOD16_021DED80
|
|
|
|
thumb_func_start MOD16_021DEEA4
|
|
MOD16_021DEEA4: ; 0x021DEEA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEEA4
|
|
|
|
thumb_func_start MOD16_021DEEB8
|
|
MOD16_021DEEB8: ; 0x021DEEB8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
ldr r3, [r3, #8]
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #3
|
|
bhi _021DEF2E
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DEED4: ; jump table
|
|
.short _021DEEDC - _021DEED4 - 2 ; case 0
|
|
.short _021DEEF6 - _021DEED4 - 2 ; case 1
|
|
.short _021DEF18 - _021DEED4 - 2 ; case 2
|
|
.short _021DEF2A - _021DEED4 - 2 ; case 3
|
|
_021DEEDC:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x64
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x64
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEF2E
|
|
_021DEEF6:
|
|
ldr r1, [r4, #4]
|
|
str r1, [sp]
|
|
add r1, r5, #0
|
|
bl MOD16_021DEFF8
|
|
mov r1, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
sub r2, #0x10
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEF2E
|
|
_021DEF18:
|
|
mov r0, #1
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021DEF2E
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEF2E
|
|
_021DEF2A:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021DEF2E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEEB8
|
|
|
|
thumb_func_start MOD16_021DEF34
|
|
MOD16_021DEF34: ; 0x021DEF34
|
|
push {r4, lr}
|
|
add r3, r1, #0
|
|
ldr r1, [r2, #0x30]
|
|
add r4, r0, #0
|
|
ldr r0, [r3, #8]
|
|
cmp r1, #0
|
|
bne _021DEF4C
|
|
ldr r3, [r3, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021DF450
|
|
b _021DEF6A
|
|
_021DEF4C:
|
|
cmp r1, #1
|
|
beq _021DEF54
|
|
cmp r1, #3
|
|
bne _021DEF5E
|
|
_021DEF54:
|
|
ldr r3, [r3, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021DF89C
|
|
b _021DEF6A
|
|
_021DEF5E:
|
|
cmp r1, #4
|
|
beq _021DEF6A
|
|
ldr r3, [r3, #4]
|
|
add r1, r4, #0
|
|
bl MOD16_021DF90C
|
|
_021DEF6A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEF34
|
|
|
|
thumb_func_start MOD16_021DEF70
|
|
MOD16_021DEF70: ; 0x021DEF70
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r3, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021DEFF2
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DEF8C: ; jump table
|
|
.short _021DEF96 - _021DEF8C - 2 ; case 0
|
|
.short _021DEFBC - _021DEF8C - 2 ; case 1
|
|
.short _021DEFCE - _021DEF8C - 2 ; case 2
|
|
.short _021DEFDC - _021DEF8C - 2 ; case 3
|
|
.short _021DEFEC - _021DEF8C - 2 ; case 4
|
|
_021DEF96:
|
|
ldr r0, [r2, #0x28]
|
|
cmp r0, #0
|
|
bne _021DEFB6
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
add r1, r0, #0
|
|
sub r1, #0x16
|
|
mov r2, #0
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEFF2
|
|
_021DEFB6:
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
b _021DEFF2
|
|
_021DEFBC:
|
|
mov r0, #1
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021DEFF2
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEFF2
|
|
_021DEFCE:
|
|
add r1, r3, #0
|
|
bl MOD16_021DF0BC
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEFF2
|
|
_021DEFDC:
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DEFF2
|
|
_021DEFEC:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_021DEFF2:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021DEF70
|
|
|
|
thumb_func_start MOD16_021DEFF8
|
|
MOD16_021DEFF8: ; 0x021DEFF8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
add r4, r2, #0
|
|
ldr r6, [sp, #0x18]
|
|
bl FUN_02018744
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r5]
|
|
mov r1, #7
|
|
add r0, r0, #4
|
|
bl FUN_0201AB24
|
|
add r0, r5, #0
|
|
bl MOD16_021DF17C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF108
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9D04
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DF140
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF198
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DF288
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF350
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF514
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF5D0
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF630
|
|
ldr r1, [r4, #0x18]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF7B0
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF7BC
|
|
ldr r1, [r4, #0x20]
|
|
add r0, r7, #0
|
|
bl MOD16_021DF7C8
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DEFF8
|
|
|
|
thumb_func_start MOD16_021DF0BC
|
|
MOD16_021DF0BC: ; 0x021DF0BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021DF33C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DF244
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021DF168
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201AB24
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF0BC
|
|
|
|
thumb_func_start MOD16_021DF108
|
|
MOD16_021DF108: ; 0x021DF108
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r4, r2, #0
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x1c
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
mov r2, #0
|
|
ldr r0, [r5]
|
|
mov r1, #5
|
|
add r3, r2, #0
|
|
bl MOD16_021D8CFC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF108
|
|
|
|
thumb_func_start MOD16_021DF140
|
|
MOD16_021DF140: ; 0x021DF140
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #1
|
|
bne _021DF150
|
|
mov r2, #0x2a
|
|
b _021DF152
|
|
_021DF150:
|
|
mov r2, #0x28
|
|
_021DF152:
|
|
str r3, [sp]
|
|
ldr r0, [r1]
|
|
add r3, r4, #0
|
|
add r1, r2, #0
|
|
mov r2, #1
|
|
add r3, #0x60
|
|
bl MOD16_021D8D48
|
|
str r0, [r4, #0x5c]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021DF140
|
|
|
|
thumb_func_start MOD16_021DF168
|
|
MOD16_021DF168: ; 0x021DF168
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x5c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x5c]
|
|
str r0, [r4, #0x60]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF168
|
|
|
|
thumb_func_start MOD16_021DF17C
|
|
MOD16_021DF17C: ; 0x021DF17C
|
|
push {r4, lr}
|
|
ldr r0, [r0]
|
|
bl MOD16_021D8700
|
|
add r4, r0, #0
|
|
mov r1, #6
|
|
mov r2, #1
|
|
bl FUN_02007558
|
|
add r0, r4, #0
|
|
bl FUN_02007EEC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF17C
|
|
|
|
thumb_func_start MOD16_021DF198
|
|
MOD16_021DF198: ; 0x021DF198
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021DF234 ; =0x00003AE9
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x51
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x24]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x24]
|
|
bl FUN_02009474
|
|
ldr r0, _021DF238 ; =0x00003A9B
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x28]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02009474
|
|
ldr r0, _021DF23C ; =0x00003AE7
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x4f
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _021DF240 ; =0x00003AE8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x50
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x30]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DF234: .word 0x00003AE9
|
|
_021DF238: .word 0x00003A9B
|
|
_021DF23C: .word 0x00003AE7
|
|
_021DF240: .word 0x00003AE8
|
|
thumb_func_end MOD16_021DF198
|
|
|
|
thumb_func_start MOD16_021DF244
|
|
MOD16_021DF244: ; 0x021DF244
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x24]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x24]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x28]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x2c]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x30]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DF244
|
|
|
|
thumb_func_start MOD16_021DF288
|
|
MOD16_021DF288: ; 0x021DF288
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
add r6, r3, #0
|
|
ldr r4, [r1]
|
|
ldr r3, _021DF338 ; =0x00003AE8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x4d
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
lsl r0, r0, #0x13
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x29
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
str r6, [sp, #0x48]
|
|
bl FUN_0201FF84
|
|
mov r1, #3
|
|
str r0, [r5, #0x20]
|
|
bl FUN_02020130
|
|
mov r0, #2
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x34]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #0x58]
|
|
mov r1, #0x11
|
|
bl FUN_02020130
|
|
ldr r0, [r5, #0x58]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [r5, #0x58]
|
|
mov r1, #1
|
|
bl FUN_020200EC
|
|
ldr r0, [r5, #0x58]
|
|
mov r1, #0
|
|
bl FUN_02020238
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DF338: .word 0x00003AE8
|
|
thumb_func_end MOD16_021DF288
|
|
|
|
thumb_func_start MOD16_021DF33C
|
|
MOD16_021DF33C: ; 0x021DF33C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x20]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x58]
|
|
bl FUN_0201FFC8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF33C
|
|
|
|
thumb_func_start MOD16_021DF350
|
|
MOD16_021DF350: ; 0x021DF350
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r5, [r0]
|
|
mov r0, #0xd0
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #4
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
mov r3, #8
|
|
bl FUN_020196F4
|
|
cmp r6, #3
|
|
bhi _021DF394
|
|
add r0, r6, r6
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DF37E: ; jump table
|
|
.short _021DF386 - _021DF37E - 2 ; case 0
|
|
.short _021DF38A - _021DF37E - 2 ; case 1
|
|
.short _021DF38E - _021DF37E - 2 ; case 2
|
|
.short _021DF392 - _021DF37E - 2 ; case 3
|
|
_021DF386:
|
|
mov r4, #0x5a
|
|
b _021DF394
|
|
_021DF38A:
|
|
mov r4, #0x57
|
|
b _021DF394
|
|
_021DF38E:
|
|
mov r4, #0x58
|
|
b _021DF394
|
|
_021DF392:
|
|
mov r4, #0x59
|
|
_021DF394:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021D8270
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002F08
|
|
mov r1, #0xd0
|
|
sub r0, r1, r0
|
|
lsr r4, r0, #1
|
|
add r0, r6, #0
|
|
add r4, #0x18
|
|
bl FUN_02002F90
|
|
lsl r1, r0, #4
|
|
mov r0, #0x20
|
|
sub r0, r0, r1
|
|
lsr r0, r0, #1
|
|
add r0, #8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DF3E0 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DF3E0: .word 0x00020100
|
|
thumb_func_end MOD16_021DF350
|
|
|
|
thumb_func_start MOD16_021DF3E4
|
|
MOD16_021DF3E4: ; 0x021DF3E4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
ldr r4, [r0]
|
|
mov r0, #0xd0
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
add r5, r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #4
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
mov r3, #8
|
|
bl FUN_020196F4
|
|
mov r0, #0x5d
|
|
add r1, r5, #0
|
|
bl MOD16_021D8270
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002F08
|
|
mov r1, #0xd0
|
|
sub r0, r1, r0
|
|
lsr r5, r0, #1
|
|
add r0, r6, #0
|
|
add r5, #0x18
|
|
bl FUN_02002F90
|
|
lsl r1, r0, #4
|
|
mov r0, #0x20
|
|
sub r0, r0, r1
|
|
lsr r0, r0, #1
|
|
add r0, #8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DF44C ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r4, #4
|
|
add r2, r6, #0
|
|
add r3, r5, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021DF44C: .word 0x00020100
|
|
thumb_func_end MOD16_021DF3E4
|
|
|
|
thumb_func_start MOD16_021DF450
|
|
MOD16_021DF450: ; 0x021DF450
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r4, #0x2c]
|
|
ldr r0, [r5, #0x18]
|
|
add r7, r3, #0
|
|
cmp r1, r0
|
|
beq _021DF474
|
|
str r1, [r5, #0x18]
|
|
cmp r1, #1
|
|
bne _021DF474
|
|
mov r0, #0x40
|
|
str r0, [r5, #0x1c]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DF3E4
|
|
_021DF474:
|
|
ldr r0, [r5, #0x1c]
|
|
cmp r0, #0
|
|
ble _021DF480
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0x1c]
|
|
b _021DF492
|
|
_021DF480:
|
|
bne _021DF492
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF350
|
|
ldr r0, [r5, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0x1c]
|
|
_021DF492:
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r5]
|
|
cmp r0, r1
|
|
beq _021DF4B0
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF514
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF350
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [r5]
|
|
_021DF4B0:
|
|
ldr r1, [r4, #0x10]
|
|
ldr r0, [r5, #4]
|
|
cmp r0, r1
|
|
beq _021DF4C4
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF5D0
|
|
ldr r0, [r4, #0x10]
|
|
str r0, [r5, #4]
|
|
_021DF4C4:
|
|
ldr r1, [r4, #0x14]
|
|
ldr r0, [r5, #8]
|
|
cmp r0, r1
|
|
beq _021DF4D8
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF630
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r5, #8]
|
|
_021DF4D8:
|
|
ldr r1, [r4, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, r1
|
|
beq _021DF4EC
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF7B0
|
|
ldr r0, [r4, #0x18]
|
|
str r0, [r5, #0xc]
|
|
_021DF4EC:
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, r1
|
|
beq _021DF500
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021DF7BC
|
|
ldr r0, [r4, #0x1c]
|
|
str r0, [r5, #0x10]
|
|
_021DF500:
|
|
ldr r1, [r4, #0x20]
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, r1
|
|
beq _021DF512
|
|
add r0, r5, #0
|
|
bl MOD16_021DF7C8
|
|
ldr r0, [r4, #0x20]
|
|
str r0, [r5, #0x14]
|
|
_021DF512:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DF450
|
|
|
|
thumb_func_start MOD16_021DF514
|
|
MOD16_021DF514: ; 0x021DF514
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r0, #0
|
|
str r2, [sp]
|
|
add r7, r1, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r4]
|
|
mov r1, #0x2b
|
|
mov r2, #1
|
|
add r3, sp, #0x14
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x14]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
ldr r0, [sp, #0x10]
|
|
bl FreeToHeap
|
|
cmp r7, #3
|
|
bhi _021DF584
|
|
add r0, r7, r7
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DF566: ; jump table
|
|
.short _021DF56E - _021DF566 - 2 ; case 0
|
|
.short _021DF574 - _021DF566 - 2 ; case 1
|
|
.short _021DF57A - _021DF566 - 2 ; case 2
|
|
.short _021DF580 - _021DF566 - 2 ; case 3
|
|
_021DF56E:
|
|
mov r5, #6
|
|
mov r6, #0x2c
|
|
b _021DF584
|
|
_021DF574:
|
|
mov r5, #9
|
|
mov r6, #0x2d
|
|
b _021DF584
|
|
_021DF57A:
|
|
mov r5, #0xc
|
|
mov r6, #0x2e
|
|
b _021DF584
|
|
_021DF580:
|
|
mov r5, #0x11
|
|
mov r6, #0x2f
|
|
_021DF584:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #1
|
|
add r3, sp, #0x14
|
|
bl MOD16_021D8D48
|
|
add r6, r0, #0
|
|
lsl r0, r5, #0x18
|
|
ldr r2, [sp, #0x14]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DF514
|
|
|
|
thumb_func_start MOD16_021DF5D0
|
|
MOD16_021DF5D0: ; 0x021DF5D0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
ldr r4, [r0]
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #4
|
|
mov r1, #0
|
|
mov r2, #0x58
|
|
mov r3, #0x34
|
|
bl FUN_020196F4
|
|
add r5, #0x51
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021D8270
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r1, r5, #0
|
|
add r2, r0, #0
|
|
mov r3, #0x50
|
|
bl FUN_02002F40
|
|
add r3, r0, #0
|
|
mov r0, #0x34
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DF62C ; =0x00040300
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r3, #0x58
|
|
add r0, r4, #4
|
|
add r2, r5, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DF62C: .word 0x00040300
|
|
thumb_func_end MOD16_021DF5D0
|
|
|
|
thumb_func_start MOD16_021DF630
|
|
MOD16_021DF630: ; 0x021DF630
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r5, [r0]
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #4
|
|
mov r1, #0
|
|
mov r2, #0x58
|
|
mov r3, #0x4d
|
|
bl FUN_020196F4
|
|
cmp r6, #9
|
|
bhi _021DF698
|
|
add r0, r6, r6
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DF65E: ; jump table
|
|
.short _021DF672 - _021DF65E - 2 ; case 0
|
|
.short _021DF676 - _021DF65E - 2 ; case 1
|
|
.short _021DF67A - _021DF65E - 2 ; case 2
|
|
.short _021DF67E - _021DF65E - 2 ; case 3
|
|
.short _021DF682 - _021DF65E - 2 ; case 4
|
|
.short _021DF686 - _021DF65E - 2 ; case 5
|
|
.short _021DF68A - _021DF65E - 2 ; case 6
|
|
.short _021DF68E - _021DF65E - 2 ; case 7
|
|
.short _021DF692 - _021DF65E - 2 ; case 8
|
|
.short _021DF696 - _021DF65E - 2 ; case 9
|
|
_021DF672:
|
|
mov r4, #0x73
|
|
b _021DF698
|
|
_021DF676:
|
|
mov r4, #0x36
|
|
b _021DF698
|
|
_021DF67A:
|
|
mov r4, #0x37
|
|
b _021DF698
|
|
_021DF67E:
|
|
mov r4, #0x38
|
|
b _021DF698
|
|
_021DF682:
|
|
mov r4, #0x39
|
|
b _021DF698
|
|
_021DF686:
|
|
mov r4, #0x3a
|
|
b _021DF698
|
|
_021DF68A:
|
|
mov r4, #0x3b
|
|
b _021DF698
|
|
_021DF68E:
|
|
mov r4, #0x3c
|
|
b _021DF698
|
|
_021DF692:
|
|
mov r4, #0x3d
|
|
b _021DF698
|
|
_021DF696:
|
|
mov r4, #0x3e
|
|
_021DF698:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021D8270
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
mov r3, #0x50
|
|
bl FUN_02002F40
|
|
add r3, r0, #0
|
|
mov r0, #0x4d
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DF6D4 ; =0x00040300
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r3, #0x58
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DF6D4: .word 0x00040300
|
|
thumb_func_end MOD16_021DF630
|
|
|
|
thumb_func_start MOD16_021DF6D8
|
|
MOD16_021DF6D8: ; 0x021DF6D8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r5, [r0]
|
|
add r7, r3, #0
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
lsl r3, r7, #0x10
|
|
add r6, r1, #0
|
|
str r2, [sp, #0x10]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #4
|
|
mov r1, #0
|
|
mov r2, #0x58
|
|
lsr r3, r3, #0x10
|
|
bl FUN_020196F4
|
|
cmp r6, #0x11
|
|
bhi _021DF774
|
|
add r0, r6, r6
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DF70A: ; jump table
|
|
.short _021DF72E - _021DF70A - 2 ; case 0
|
|
.short _021DF732 - _021DF70A - 2 ; case 1
|
|
.short _021DF736 - _021DF70A - 2 ; case 2
|
|
.short _021DF73A - _021DF70A - 2 ; case 3
|
|
.short _021DF73E - _021DF70A - 2 ; case 4
|
|
.short _021DF742 - _021DF70A - 2 ; case 5
|
|
.short _021DF746 - _021DF70A - 2 ; case 6
|
|
.short _021DF74A - _021DF70A - 2 ; case 7
|
|
.short _021DF74E - _021DF70A - 2 ; case 8
|
|
.short _021DF752 - _021DF70A - 2 ; case 9
|
|
.short _021DF756 - _021DF70A - 2 ; case 10
|
|
.short _021DF75A - _021DF70A - 2 ; case 11
|
|
.short _021DF75E - _021DF70A - 2 ; case 12
|
|
.short _021DF762 - _021DF70A - 2 ; case 13
|
|
.short _021DF766 - _021DF70A - 2 ; case 14
|
|
.short _021DF76A - _021DF70A - 2 ; case 15
|
|
.short _021DF76E - _021DF70A - 2 ; case 16
|
|
.short _021DF772 - _021DF70A - 2 ; case 17
|
|
_021DF72E:
|
|
mov r4, #0x74
|
|
b _021DF774
|
|
_021DF732:
|
|
mov r4, #0x40
|
|
b _021DF774
|
|
_021DF736:
|
|
mov r4, #0x46
|
|
b _021DF774
|
|
_021DF73A:
|
|
mov r4, #0x49
|
|
b _021DF774
|
|
_021DF73E:
|
|
mov r4, #0x47
|
|
b _021DF774
|
|
_021DF742:
|
|
mov r4, #0x48
|
|
b _021DF774
|
|
_021DF746:
|
|
mov r4, #0x4c
|
|
b _021DF774
|
|
_021DF74A:
|
|
mov r4, #0x4b
|
|
b _021DF774
|
|
_021DF74E:
|
|
mov r4, #0x4d
|
|
b _021DF774
|
|
_021DF752:
|
|
mov r4, #0x50
|
|
b _021DF774
|
|
_021DF756:
|
|
mov r4, #0x41
|
|
b _021DF774
|
|
_021DF75A:
|
|
mov r4, #0x42
|
|
b _021DF774
|
|
_021DF75E:
|
|
mov r4, #0x44
|
|
b _021DF774
|
|
_021DF762:
|
|
mov r4, #0x43
|
|
b _021DF774
|
|
_021DF766:
|
|
mov r4, #0x4a
|
|
b _021DF774
|
|
_021DF76A:
|
|
mov r4, #0x45
|
|
b _021DF774
|
|
_021DF76E:
|
|
mov r4, #0x4e
|
|
b _021DF774
|
|
_021DF772:
|
|
mov r4, #0x4f
|
|
_021DF774:
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl MOD16_021D8270
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
mov r3, #0x50
|
|
bl FUN_02002F40
|
|
add r3, r0, #0
|
|
str r7, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DF7AC ; =0x00040300
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r3, #0x58
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DF7AC: .word 0x00040300
|
|
thumb_func_end MOD16_021DF6D8
|
|
|
|
thumb_func_start MOD16_021DF7B0
|
|
MOD16_021DF7B0: ; 0x021DF7B0
|
|
push {r3, lr}
|
|
mov r3, #0x66
|
|
bl MOD16_021DF6D8
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF7B0
|
|
|
|
thumb_func_start MOD16_021DF7BC
|
|
MOD16_021DF7BC: ; 0x021DF7BC
|
|
push {r3, lr}
|
|
mov r3, #0x78
|
|
bl MOD16_021DF6D8
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF7BC
|
|
|
|
thumb_func_start MOD16_021DF7C8
|
|
MOD16_021DF7C8: ; 0x021DF7C8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
ldr r0, [r4, #0x20]
|
|
bne _021DF7DA
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, pc}
|
|
_021DF7DA:
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
cmp r5, #0xe
|
|
bhi _021DF898
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DF7F0: ; jump table
|
|
.short _021DF898 - _021DF7F0 - 2 ; case 0
|
|
.short _021DF80E - _021DF7F0 - 2 ; case 1
|
|
.short _021DF818 - _021DF7F0 - 2 ; case 2
|
|
.short _021DF822 - _021DF7F0 - 2 ; case 3
|
|
.short _021DF82C - _021DF7F0 - 2 ; case 4
|
|
.short _021DF836 - _021DF7F0 - 2 ; case 5
|
|
.short _021DF840 - _021DF7F0 - 2 ; case 6
|
|
.short _021DF84A - _021DF7F0 - 2 ; case 7
|
|
.short _021DF854 - _021DF7F0 - 2 ; case 8
|
|
.short _021DF85E - _021DF7F0 - 2 ; case 9
|
|
.short _021DF868 - _021DF7F0 - 2 ; case 10
|
|
.short _021DF872 - _021DF7F0 - 2 ; case 11
|
|
.short _021DF87C - _021DF7F0 - 2 ; case 12
|
|
.short _021DF886 - _021DF7F0 - 2 ; case 13
|
|
.short _021DF890 - _021DF7F0 - 2 ; case 14
|
|
_021DF80E:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #3
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF818:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #4
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF822:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #5
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF82C:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #6
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF836:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #7
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF840:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #8
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF84A:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #9
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF854:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0xa
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF85E:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0xb
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF868:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0xc
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF872:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0xd
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF87C:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0xe
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF886:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0xf
|
|
bl FUN_02020130
|
|
pop {r3, r4, r5, pc}
|
|
_021DF890:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0x10
|
|
bl FUN_02020130
|
|
_021DF898:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DF7C8
|
|
|
|
thumb_func_start MOD16_021DF89C
|
|
MOD16_021DF89C: ; 0x021DF89C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r2, #0x34]
|
|
add r4, r1, #0
|
|
cmp r0, #4
|
|
bne _021DF900
|
|
ldr r0, [r2, #0x30]
|
|
cmp r0, #1
|
|
bne _021DF8D4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xc
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #0x14
|
|
str r0, [sp, #0xc]
|
|
mov r0, #4
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r4]
|
|
add r0, r5, #0
|
|
ldr r1, [r1]
|
|
ldr r3, [r5, #0x60]
|
|
add r0, #0x34
|
|
mov r2, #2
|
|
bl MOD16_021D7CA4
|
|
b _021DF900
|
|
_021DF8D4:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r3, #0
|
|
bl MOD16_021DF9C0
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, #0x14
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #4
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r4]
|
|
add r0, r5, #0
|
|
ldr r1, [r1]
|
|
ldr r3, [r5, #0x60]
|
|
add r0, #0x34
|
|
mov r2, #2
|
|
bl MOD16_021D7CA4
|
|
_021DF900:
|
|
add r5, #0x34
|
|
add r0, r5, #0
|
|
bl MOD16_021D7CC8
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD16_021DF89C
|
|
|
|
thumb_func_start MOD16_021DF90C
|
|
MOD16_021DF90C: ; 0x021DF90C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #0x34]
|
|
add r4, r1, #0
|
|
add r7, r3, #0
|
|
cmp r0, #0x20
|
|
bne _021DF92E
|
|
ldr r0, [r5, #0x58]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021DF970
|
|
b _021DF94C
|
|
_021DF92E:
|
|
cmp r0, #0
|
|
bne _021DF94C
|
|
ldr r0, [r5, #0x58]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r4]
|
|
add r0, r0, #4
|
|
bl FUN_02019220
|
|
_021DF94C:
|
|
ldr r2, [r6, #0x34]
|
|
mov r1, #4
|
|
sub r2, r1, r2
|
|
ldr r1, _021DF96C ; =0x00007FFF
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
asr r1, r3, #1
|
|
lsr r1, r1, #0x1e
|
|
add r1, r3, r1
|
|
lsl r1, r1, #0xe
|
|
ldr r0, [r5, #0x58]
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020088
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021DF96C: .word 0x00007FFF
|
|
thumb_func_end MOD16_021DF90C
|
|
|
|
thumb_func_start MOD16_021DF970
|
|
MOD16_021DF970: ; 0x021DF970
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
ldr r5, [r0]
|
|
add r4, r1, #0
|
|
add r0, r5, #4
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r0, #0x5e
|
|
add r1, r4, #0
|
|
bl MOD16_021D8270
|
|
add r4, r0, #0
|
|
mov r0, #0x80
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021DF9BC ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r2, r4, #0
|
|
mov r3, #0x60
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021DF9BC: .word 0x00020100
|
|
thumb_func_end MOD16_021DF970
|
|
|
|
thumb_func_start MOD16_021DF9C0
|
|
MOD16_021DF9C0: ; 0x021DF9C0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r4, r1, #0
|
|
add r1, r0, #0
|
|
add r6, r2, #0
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r1, [r4]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF514
|
|
ldr r1, [r4]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF350
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF5D0
|
|
ldr r1, [r4, #8]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF630
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF7B0
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DF7BC
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl MOD16_021DF7C8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DF9C0
|
|
|
|
thumb_func_start MOD16_021DFA28
|
|
MOD16_021DFA28: ; 0x021DFA28
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021DFAA0
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DFAE8
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021DFB20
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021DFB50
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021DFA70 ; =MOD16_021DFB54
|
|
str r0, [r5, #8]
|
|
ldr r0, _021DFA74 ; =MOD16_021DFBB8
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021DFA78 ; =MOD16_021DFCEC
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021DFA7C ; =MOD16_021DFD0C
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021DFA80 ; =MOD16_021DFD9C
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021DFA84 ; =MOD16_021DFECC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021DFA70: .word MOD16_021DFB54
|
|
_021DFA74: .word MOD16_021DFBB8
|
|
_021DFA78: .word MOD16_021DFCEC
|
|
_021DFA7C: .word MOD16_021DFD0C
|
|
_021DFA80: .word MOD16_021DFD9C
|
|
_021DFA84: .word MOD16_021DFECC
|
|
thumb_func_end MOD16_021DFA28
|
|
|
|
thumb_func_start MOD16_021DFA88
|
|
MOD16_021DFA88: ; 0x021DFA88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021DFB24
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DFB38
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021DFB4C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021DFA88
|
|
|
|
thumb_func_start MOD16_021DFAA0
|
|
MOD16_021DFAA0: ; 0x021DFAA0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DFAB2
|
|
bl ErrorHandling
|
|
_021DFAB2:
|
|
add r2, r4, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_021DFAB8:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021DFAB8
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0xc]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DFAA0
|
|
|
|
thumb_func_start MOD16_021DFAE8
|
|
MOD16_021DFAE8: ; 0x021DFAE8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DFAFA
|
|
bl ErrorHandling
|
|
_021DFAFA:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DFAE8
|
|
|
|
thumb_func_start MOD16_021DFB20
|
|
MOD16_021DFB20: ; 0x021DFB20
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021DFB20
|
|
|
|
thumb_func_start MOD16_021DFB24
|
|
MOD16_021DFB24: ; 0x021DFB24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DFB2E
|
|
bl ErrorHandling
|
|
_021DFB2E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DFB24
|
|
|
|
thumb_func_start MOD16_021DFB38
|
|
MOD16_021DFB38: ; 0x021DFB38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021DFB42
|
|
bl ErrorHandling
|
|
_021DFB42:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DFB38
|
|
|
|
thumb_func_start MOD16_021DFB4C
|
|
MOD16_021DFB4C: ; 0x021DFB4C
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DFB4C
|
|
|
|
thumb_func_start MOD16_021DFB50
|
|
MOD16_021DFB50: ; 0x021DFB50
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021DFB50
|
|
|
|
thumb_func_start MOD16_021DFB54
|
|
MOD16_021DFB54: ; 0x021DFB54
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r6, r1, #0
|
|
mov r1, #0x9c
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021DFB6A
|
|
bl ErrorHandling
|
|
_021DFB6A:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x9c
|
|
bl memset
|
|
add r0, r4, #0
|
|
ldr r1, _021DFBB4 ; =0x0000FFFF
|
|
str r4, [r5, #8]
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E2864
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E0048
|
|
ldr r1, [r5, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021E18E8
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E1930
|
|
mov r1, #0
|
|
mov r0, #4
|
|
_021DFBA4:
|
|
add r1, r1, #1
|
|
str r0, [r4, #0x2c]
|
|
add r4, r4, #4
|
|
cmp r1, #6
|
|
blt _021DFBA4
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021DFBB4: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021DFB54
|
|
|
|
thumb_func_start MOD16_021DFBB8
|
|
MOD16_021DFBB8: ; 0x021DFBB8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #0xc]
|
|
ldr r4, [r5, #8]
|
|
ldr r7, [r0, #4]
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #1
|
|
bne _021DFBD2
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DFBD2:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #1
|
|
bne _021DFBDE
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DFBDE:
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021DEC54
|
|
cmp r0, #0
|
|
beq _021DFBEE
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DFBEE:
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021DEBB8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
cmp r0, #4
|
|
bhi _021DFCE4
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DFC08: ; jump table
|
|
.short _021DFC12 - _021DFC08 - 2 ; case 0
|
|
.short _021DFC6E - _021DFC08 - 2 ; case 1
|
|
.short _021DFC7C - _021DFC08 - 2 ; case 2
|
|
.short _021DFCD2 - _021DFC08 - 2 ; case 3
|
|
.short _021DFCE0 - _021DFC08 - 2 ; case 4
|
|
_021DFC12:
|
|
ldr r1, [r4, #0x24]
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
bne _021DFC22
|
|
ldr r1, [r4, #0x28]
|
|
ldr r0, [r4, #0x20]
|
|
cmp r1, r0
|
|
beq _021DFC4A
|
|
_021DFC22:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
mov r0, #2
|
|
str r0, [r7, #4]
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
str r0, [r7, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021E0214
|
|
ldr r1, [sp, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021E0224
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DFCE4
|
|
_021DFC4A:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E0104
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #1
|
|
bne _021DFC64
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E1804
|
|
_021DFC64:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E2870
|
|
b _021DFCE4
|
|
_021DFC6E:
|
|
add r4, #0x98
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021DFCE4
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DFCE4
|
|
_021DFC7C:
|
|
ldr r0, [r4, #0x24]
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
str r0, [r4, #0x24]
|
|
ldr r0, [r4, #0x20]
|
|
str r0, [r4, #0x28]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021E00A0
|
|
ldr r1, [r5, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021E1970
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E2864
|
|
ldr r1, [r4, #0x24]
|
|
ldr r0, [sp]
|
|
cmp r0, r1
|
|
beq _021DFCB2
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E1930
|
|
_021DFCB2:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
str r0, [r7, #4]
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
str r0, [r7, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021E02C4
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DFCE4
|
|
_021DFCD2:
|
|
add r4, #0x98
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021DFCE4
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _021DFCE4
|
|
_021DFCE0:
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
_021DFCE4:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DFBB8
|
|
|
|
thumb_func_start MOD16_021DFCEC
|
|
MOD16_021DFCEC: ; 0x021DFCEC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r5, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MOD16_021E0090
|
|
add r0, r5, #0
|
|
bl MOD16_021E18D0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DFCEC
|
|
|
|
thumb_func_start MOD16_021DFD0C
|
|
MOD16_021DFD0C: ; 0x021DFD0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r6, r0, #0
|
|
add r7, r2, #0
|
|
ldr r5, [r3, #8]
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #3
|
|
bhi _021DFD96
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021DFD2A: ; jump table
|
|
.short _021DFD32 - _021DFD2A - 2 ; case 0
|
|
.short _021DFD50 - _021DFD2A - 2 ; case 1
|
|
.short _021DFD80 - _021DFD2A - 2 ; case 2
|
|
.short _021DFD92 - _021DFD2A - 2 ; case 3
|
|
_021DFD32:
|
|
mov r1, #0x4e
|
|
ldr r0, [r4, #4]
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0x4e
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFD96
|
|
_021DFD50:
|
|
ldr r1, [r4, #4]
|
|
add r3, r5, #0
|
|
str r1, [sp]
|
|
add r1, r6, #0
|
|
bl MOD16_021DFF74
|
|
mov r1, #0
|
|
mov r0, #2
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
sub r2, #0x10
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E1988
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFD96
|
|
_021DFD80:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021DFD96
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFD96
|
|
_021DFD92:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021DFD96:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DFD0C
|
|
|
|
thumb_func_start MOD16_021DFD9C
|
|
MOD16_021DFD9C: ; 0x021DFD9C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r0, #0
|
|
add r0, r2, #0
|
|
add r5, r1, #0
|
|
ldr r0, [r0, #8]
|
|
str r2, [sp, #4]
|
|
ldr r6, [r3, #8]
|
|
ldr r4, [r5, #8]
|
|
bl MOD16_021DEC54
|
|
cmp r0, #0
|
|
beq _021DFDC2
|
|
ldr r2, [sp, #4]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E2E74
|
|
b _021DFE4C
|
|
_021DFDC2:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E2CC8
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r2, [r6, #0x24]
|
|
ldr r3, [r4, r0]
|
|
cmp r3, r2
|
|
bne _021DFDE0
|
|
add r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [r6, #0x28]
|
|
cmp r1, r0
|
|
beq _021DFE42
|
|
_021DFDE0:
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
str r2, [r4, r0]
|
|
ldr r1, [r6, #0x28]
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
cmp r3, #3
|
|
bne _021DFDFE
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E1BD0
|
|
add r0, r4, #0
|
|
bl MOD16_021E22A8
|
|
_021DFDFE:
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E1CA4
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E2344
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #3
|
|
bne _021DFE30
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E1B3C
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E20EC
|
|
_021DFE30:
|
|
mov r3, #0x41
|
|
lsl r3, r3, #2
|
|
ldr r2, [r4, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r4, r3]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021E2DBC
|
|
_021DFE42:
|
|
ldr r2, [sp, #4]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E19A4
|
|
_021DFE4C:
|
|
mov r7, #0
|
|
str r6, [sp, #8]
|
|
add r5, r4, #0
|
|
_021DFE52:
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r1, [r1, #0x2c]
|
|
bl MOD16_021D7B98
|
|
ldr r1, [r5, #0x18]
|
|
cmp r1, #0
|
|
beq _021DFE7A
|
|
cmp r7, #5
|
|
bne _021DFE6A
|
|
mov r3, #1
|
|
b _021DFE6C
|
|
_021DFE6A:
|
|
mov r3, #3
|
|
_021DFE6C:
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r2, #5
|
|
ldr r0, [r5]
|
|
mvn r2, r2
|
|
bl MOD16_021D7C70
|
|
_021DFE7A:
|
|
ldr r0, [sp, #8]
|
|
add r7, r7, #1
|
|
add r0, r0, #4
|
|
add r5, r5, #4
|
|
str r0, [sp, #8]
|
|
cmp r7, #6
|
|
blt _021DFE52
|
|
mov r5, #0
|
|
mov r7, #6
|
|
_021DFE8C:
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #0
|
|
beq _021DFE98
|
|
ldr r1, [r6, #0x44]
|
|
bl MOD16_021D7B98
|
|
_021DFE98:
|
|
ldr r1, [r4, #0x6c]
|
|
cmp r1, #0
|
|
beq _021DFEAC
|
|
str r7, [sp]
|
|
mov r2, #5
|
|
ldr r0, [r4, #0x30]
|
|
mvn r2, r2
|
|
mov r3, #0xb
|
|
bl MOD16_021D7C70
|
|
_021DFEAC:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021DFEBC
|
|
ldr r1, [r6, #0x44]
|
|
bl MOD16_021D7B98
|
|
_021DFEBC:
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
add r6, r6, #4
|
|
cmp r5, #0xf
|
|
blt _021DFE8C
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021DFD9C
|
|
|
|
thumb_func_start MOD16_021DFECC
|
|
MOD16_021DFECC: ; 0x021DFECC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021DFF6E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021DFEE8: ; jump table
|
|
.short _021DFEF2 - _021DFEE8 - 2 ; case 0
|
|
.short _021DFF1C - _021DFEE8 - 2 ; case 1
|
|
.short _021DFF2E - _021DFEE8 - 2 ; case 2
|
|
.short _021DFF56 - _021DFEE8 - 2 ; case 3
|
|
.short _021DFF68 - _021DFEE8 - 2 ; case 4
|
|
_021DFEF2:
|
|
ldr r0, [r2, #8]
|
|
bl MOD16_021DEC4C
|
|
cmp r0, #1
|
|
bne _021DFF02
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
b _021DFF6E
|
|
_021DFF02:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
add r1, r0, #0
|
|
sub r1, #0x16
|
|
mov r2, #0
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFF6E
|
|
_021DFF1C:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021DFF6E
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFF6E
|
|
_021DFF2E:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021DFFB8
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #3
|
|
bne _021DFF4E
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E1BD0
|
|
add r0, r5, #0
|
|
bl MOD16_021E22A8
|
|
_021DFF4E:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFF6E
|
|
_021DFF56:
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021DFF6E
|
|
_021DFF68:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021DFF6E:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DFECC
|
|
|
|
thumb_func_start MOD16_021DFF74
|
|
MOD16_021DFF74: ; 0x021DFF74
|
|
push {r4, r5, r6, lr}
|
|
ldr r4, [sp, #0x10]
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r1, r2, #0
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DFFE0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E1A14
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E1C10
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E22D0
|
|
mov r3, #0x41
|
|
lsl r3, r3, #2
|
|
ldr r2, [r5, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021E2DBC
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021DFF74
|
|
|
|
thumb_func_start MOD16_021DFFB8
|
|
MOD16_021DFFB8: ; 0x021DFFB8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E2334
|
|
add r0, r5, #0
|
|
bl MOD16_021E1C94
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E1AE4
|
|
mov r0, #0x79
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B14
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021DFFB8
|
|
|
|
thumb_func_start MOD16_021DFFE0
|
|
MOD16_021DFFE0: ; 0x021DFFE0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r5, r2, #0
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x1d
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x4b
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021DFFE0
|
|
|
|
thumb_func_start MOD16_021E0048
|
|
MOD16_021E0048: ; 0x021E0048
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl MOD16_021E0158
|
|
ldr r0, [r5, #0x28]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
ldr r3, [r5, #0x24]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E00C4
|
|
add r0, r5, #0
|
|
bl MOD16_021E0070
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E0048
|
|
|
|
thumb_func_start MOD16_021E0070
|
|
MOD16_021E0070: ; 0x021E0070
|
|
mov r2, #0
|
|
add r3, r0, #0
|
|
mov r1, #3
|
|
_021E0076:
|
|
add r2, r2, #1
|
|
str r1, [r3, #0x2c]
|
|
add r3, r3, #4
|
|
cmp r2, #6
|
|
blt _021E0076
|
|
mov r2, #0
|
|
mov r1, #3
|
|
_021E0084:
|
|
add r2, r2, #1
|
|
str r1, [r0, #0x44]
|
|
add r0, r0, #4
|
|
cmp r2, #0xf
|
|
blt _021E0084
|
|
bx lr
|
|
thumb_func_end MOD16_021E0070
|
|
|
|
thumb_func_start MOD16_021E0090
|
|
MOD16_021E0090: ; 0x021E0090
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021E026C
|
|
add r0, r4, #0
|
|
bl MOD16_021E02AC
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E0090
|
|
|
|
thumb_func_start MOD16_021E00A0
|
|
MOD16_021E00A0: ; 0x021E00A0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl MOD16_021E02AC
|
|
ldr r0, [r5, #0x28]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
ldr r3, [r5, #0x24]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E00C4
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E00A0
|
|
|
|
thumb_func_start MOD16_021E00C4
|
|
MOD16_021E00C4: ; 0x021E00C4
|
|
push {r3, lr}
|
|
cmp r3, #3
|
|
bhi _021E0100
|
|
add r3, r3, r3
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_021E00D6: ; jump table
|
|
.short _021E00DE - _021E00D6 - 2 ; case 0
|
|
.short _021E00E4 - _021E00D6 - 2 ; case 1
|
|
.short _021E00EA - _021E00D6 - 2 ; case 2
|
|
.short _021E00FC - _021E00D6 - 2 ; case 3
|
|
_021E00DE:
|
|
bl MOD16_021E02D4
|
|
pop {r3, pc}
|
|
_021E00E4:
|
|
bl MOD16_021E0400
|
|
pop {r3, pc}
|
|
_021E00EA:
|
|
ldr r3, [sp, #8]
|
|
cmp r3, #0
|
|
bne _021E00F6
|
|
bl MOD16_021E0558
|
|
pop {r3, pc}
|
|
_021E00F6:
|
|
bl MOD16_021E06F8
|
|
pop {r3, pc}
|
|
_021E00FC:
|
|
bl MOD16_021E08A0
|
|
_021E0100:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E00C4
|
|
|
|
thumb_func_start MOD16_021E0104
|
|
MOD16_021E0104: ; 0x021E0104
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E01FC
|
|
ldr r2, [r5, #0x24]
|
|
ldr r3, [r5, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E011C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E0104
|
|
|
|
thumb_func_start MOD16_021E011C
|
|
MOD16_021E011C: ; 0x021E011C
|
|
push {r3, lr}
|
|
cmp r2, #3
|
|
bhi _021E0156
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E012E: ; jump table
|
|
.short _021E0136 - _021E012E - 2 ; case 0
|
|
.short _021E013C - _021E012E - 2 ; case 1
|
|
.short _021E0142 - _021E012E - 2 ; case 2
|
|
.short _021E0152 - _021E012E - 2 ; case 3
|
|
_021E0136:
|
|
bl MOD16_021E0364
|
|
pop {r3, pc}
|
|
_021E013C:
|
|
bl MOD16_021E0490
|
|
pop {r3, pc}
|
|
_021E0142:
|
|
cmp r3, #0
|
|
bne _021E014C
|
|
bl MOD16_021E05FC
|
|
pop {r3, pc}
|
|
_021E014C:
|
|
bl MOD16_021E07B0
|
|
pop {r3, pc}
|
|
_021E0152:
|
|
bl MOD16_021E0930
|
|
_021E0156:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E011C
|
|
|
|
thumb_func_start MOD16_021E0158
|
|
MOD16_021E0158: ; 0x021E0158
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
str r0, [r5, #4]
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x20
|
|
add r0, r0, #4
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xec
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
mov r3, #0xbc
|
|
bl MOD16_021D7C98
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x40
|
|
add r0, #8
|
|
mov r2, #0x60
|
|
mov r3, #0xc0
|
|
bl MOD16_021D7C98
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x60
|
|
add r0, #0xc
|
|
mov r2, #0x80
|
|
mov r3, #0xc0
|
|
bl MOD16_021D7C98
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x80
|
|
add r0, #0x10
|
|
mov r2, #0xa0
|
|
mov r3, #0xc0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xfc
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #0x14
|
|
mov r2, #0xc0
|
|
mov r3, #0xac
|
|
bl MOD16_021D7C98
|
|
str r4, [r5, #0x10]
|
|
str r5, [r5, #0x14]
|
|
str r6, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r2, _021E01F8 ; =MOD16_021E0284
|
|
mov r1, #6
|
|
add r3, #0x10
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E01F8: .word MOD16_021E0284
|
|
thumb_func_end MOD16_021E0158
|
|
|
|
thumb_func_start MOD16_021E01FC
|
|
MOD16_021E01FC: ; 0x021E01FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021E0214
|
|
ldr r0, [r4]
|
|
bl FUN_02022144
|
|
ldr r1, [r4, #0x24]
|
|
add r0, r4, #0
|
|
bl MOD16_021E0224
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E01FC
|
|
|
|
thumb_func_start MOD16_021E0214
|
|
MOD16_021E0214: ; 0x021E0214
|
|
mov r2, #0
|
|
mov r1, #3
|
|
_021E0218:
|
|
add r2, r2, #1
|
|
str r1, [r0, #0x2c]
|
|
add r0, r0, #4
|
|
cmp r2, #6
|
|
blt _021E0218
|
|
bx lr
|
|
thumb_func_end MOD16_021E0214
|
|
|
|
thumb_func_start MOD16_021E0224
|
|
MOD16_021E0224: ; 0x021E0224
|
|
cmp r1, #3
|
|
bhi _021E026A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E0234: ; jump table
|
|
.short _021E023C - _021E0234 - 2 ; case 0
|
|
.short _021E0248 - _021E0234 - 2 ; case 1
|
|
.short _021E0254 - _021E0234 - 2 ; case 2
|
|
.short _021E0260 - _021E0234 - 2 ; case 3
|
|
_021E023C:
|
|
ldr r1, [r0, #0x30]
|
|
cmp r1, #2
|
|
beq _021E026A
|
|
mov r1, #1
|
|
str r1, [r0, #0x30]
|
|
bx lr
|
|
_021E0248:
|
|
ldr r1, [r0, #0x34]
|
|
cmp r1, #2
|
|
beq _021E026A
|
|
mov r1, #1
|
|
str r1, [r0, #0x34]
|
|
bx lr
|
|
_021E0254:
|
|
ldr r1, [r0, #0x38]
|
|
cmp r1, #2
|
|
beq _021E026A
|
|
mov r1, #1
|
|
str r1, [r0, #0x38]
|
|
bx lr
|
|
_021E0260:
|
|
ldr r1, [r0, #0x3c]
|
|
cmp r1, #2
|
|
beq _021E026A
|
|
mov r1, #1
|
|
str r1, [r0, #0x3c]
|
|
_021E026A:
|
|
bx lr
|
|
thumb_func_end MOD16_021E0224
|
|
|
|
thumb_func_start MOD16_021E026C
|
|
MOD16_021E026C: ; 0x021E026C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E026C
|
|
|
|
thumb_func_start MOD16_021E0284
|
|
MOD16_021E0284: ; 0x021E0284
|
|
ldr r2, [r2, #4]
|
|
lsl r3, r0, #2
|
|
add r3, r2, r3
|
|
str r1, [r3, #0x2c]
|
|
cmp r1, #2
|
|
bne _021E02A4
|
|
add r1, r2, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
add r0, r2, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
add r2, #0x94
|
|
add r0, r0, #1
|
|
str r0, [r2]
|
|
bx lr
|
|
_021E02A4:
|
|
mov r0, #0
|
|
add r2, #0x94
|
|
str r0, [r2]
|
|
bx lr
|
|
thumb_func_end MOD16_021E0284
|
|
|
|
thumb_func_start MOD16_021E02AC
|
|
MOD16_021E02AC: ; 0x021E02AC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #0xc]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E02AC
|
|
|
|
thumb_func_start MOD16_021E02C4
|
|
MOD16_021E02C4: ; 0x021E02C4
|
|
mov r2, #0
|
|
mov r1, #3
|
|
_021E02C8:
|
|
add r2, r2, #1
|
|
str r1, [r0, #0x44]
|
|
add r0, r0, #4
|
|
cmp r2, #0xf
|
|
blt _021E02C8
|
|
bx lr
|
|
thumb_func_end MOD16_021E02C4
|
|
|
|
thumb_func_start MOD16_021E02D4
|
|
MOD16_021E02D4: ; 0x021E02D4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
mov r1, #0x18
|
|
str r2, [sp, #0xc]
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x30
|
|
ldr r6, [sp, #0x14]
|
|
str r0, [sp, #0x10]
|
|
_021E02F4:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r7, [sp, #0x10]
|
|
str r0, [sp, #0x18]
|
|
add r0, #0x10
|
|
mov r4, #0
|
|
mov r5, #0x30
|
|
sub r7, #0x10
|
|
str r0, [sp, #0x18]
|
|
_021E0304:
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, r5, #0
|
|
ldr r1, [r0, #0xc]
|
|
add r0, r4, r6
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
sub r3, #0x28
|
|
bl MOD16_021D7C98
|
|
add r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #2
|
|
blt _021E0304
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #2
|
|
add r0, #0x20
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #3
|
|
blt _021E02F4
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #4]
|
|
str r1, [r0, #0x10]
|
|
str r0, [r0, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E0360 ; =MOD16_021E03EC
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0xc]
|
|
add r3, #0x10
|
|
bl FUN_020220C4
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E0360: .word MOD16_021E03EC
|
|
thumb_func_end MOD16_021E02D4
|
|
|
|
thumb_func_start MOD16_021E0364
|
|
MOD16_021E0364: ; 0x021E0364
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #3
|
|
_021E0370:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x44]
|
|
add r2, r2, #4
|
|
cmp r1, #6
|
|
blt _021E0370
|
|
ldr r0, [r4, #8]
|
|
bl FUN_02022144
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021DEBD4
|
|
cmp r0, #5
|
|
bhi _021E03E8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0396: ; jump table
|
|
.short _021E03A2 - _021E0396 - 2 ; case 0
|
|
.short _021E03AE - _021E0396 - 2 ; case 1
|
|
.short _021E03BA - _021E0396 - 2 ; case 2
|
|
.short _021E03C6 - _021E0396 - 2 ; case 3
|
|
.short _021E03D2 - _021E0396 - 2 ; case 4
|
|
.short _021E03DE - _021E0396 - 2 ; case 5
|
|
_021E03A2:
|
|
ldr r0, [r4, #0x44]
|
|
cmp r0, #2
|
|
beq _021E03E8
|
|
mov r0, #1
|
|
str r0, [r4, #0x44]
|
|
pop {r3, r4, r5, pc}
|
|
_021E03AE:
|
|
ldr r0, [r4, #0x48]
|
|
cmp r0, #2
|
|
beq _021E03E8
|
|
mov r0, #1
|
|
str r0, [r4, #0x48]
|
|
pop {r3, r4, r5, pc}
|
|
_021E03BA:
|
|
ldr r0, [r4, #0x4c]
|
|
cmp r0, #2
|
|
beq _021E03E8
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
pop {r3, r4, r5, pc}
|
|
_021E03C6:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #2
|
|
beq _021E03E8
|
|
mov r0, #1
|
|
str r0, [r4, #0x50]
|
|
pop {r3, r4, r5, pc}
|
|
_021E03D2:
|
|
ldr r0, [r4, #0x54]
|
|
cmp r0, #2
|
|
beq _021E03E8
|
|
mov r0, #1
|
|
str r0, [r4, #0x54]
|
|
pop {r3, r4, r5, pc}
|
|
_021E03DE:
|
|
ldr r0, [r4, #0x58]
|
|
cmp r0, #2
|
|
beq _021E03E8
|
|
mov r0, #1
|
|
str r0, [r4, #0x58]
|
|
_021E03E8:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0364
|
|
|
|
thumb_func_start MOD16_021E03EC
|
|
MOD16_021E03EC: ; 0x021E03EC
|
|
ldr r3, [r2, #4]
|
|
lsl r2, r0, #2
|
|
add r2, r3, r2
|
|
str r1, [r2, #0x44]
|
|
cmp r1, #2
|
|
bne _021E03FC
|
|
add r3, #0x84
|
|
str r0, [r3]
|
|
_021E03FC:
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E03EC
|
|
|
|
thumb_func_start MOD16_021E0400
|
|
MOD16_021E0400: ; 0x021E0400
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
mov r1, #0x28
|
|
str r2, [sp, #0xc]
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x10
|
|
ldr r6, [sp, #0x14]
|
|
str r0, [sp, #0x10]
|
|
_021E0420:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r7, [sp, #0x10]
|
|
str r0, [sp, #0x18]
|
|
add r0, #0x10
|
|
mov r4, #0
|
|
mov r5, #0x30
|
|
sub r7, #0x10
|
|
str r0, [sp, #0x18]
|
|
_021E0430:
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, r5, #0
|
|
ldr r1, [r0, #0xc]
|
|
add r0, r4, r6
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
sub r3, #0x28
|
|
bl MOD16_021D7C98
|
|
add r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #2
|
|
blt _021E0430
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #2
|
|
add r0, #0x20
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #5
|
|
blt _021E0420
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #4]
|
|
str r1, [r0, #0x10]
|
|
str r0, [r0, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E048C ; =MOD16_021E0544
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0xa
|
|
ldr r0, [r0, #0xc]
|
|
add r3, #0x10
|
|
bl FUN_020220C4
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E048C: .word MOD16_021E0544
|
|
thumb_func_end MOD16_021E0400
|
|
|
|
thumb_func_start MOD16_021E0490
|
|
MOD16_021E0490: ; 0x021E0490
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #3
|
|
_021E049C:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x44]
|
|
add r2, r2, #4
|
|
cmp r1, #0xa
|
|
blt _021E049C
|
|
ldr r0, [r4, #8]
|
|
bl FUN_02022144
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021DEBF0
|
|
cmp r0, #9
|
|
bhi _021E0540
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E04C2: ; jump table
|
|
.short _021E0540 - _021E04C2 - 2 ; case 0
|
|
.short _021E04D6 - _021E04C2 - 2 ; case 1
|
|
.short _021E04E2 - _021E04C2 - 2 ; case 2
|
|
.short _021E04EE - _021E04C2 - 2 ; case 3
|
|
.short _021E04FA - _021E04C2 - 2 ; case 4
|
|
.short _021E0506 - _021E04C2 - 2 ; case 5
|
|
.short _021E0512 - _021E04C2 - 2 ; case 6
|
|
.short _021E051E - _021E04C2 - 2 ; case 7
|
|
.short _021E052A - _021E04C2 - 2 ; case 8
|
|
.short _021E0536 - _021E04C2 - 2 ; case 9
|
|
_021E04D6:
|
|
ldr r0, [r4, #0x44]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x44]
|
|
pop {r3, r4, r5, pc}
|
|
_021E04E2:
|
|
ldr r0, [r4, #0x48]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x48]
|
|
pop {r3, r4, r5, pc}
|
|
_021E04EE:
|
|
ldr r0, [r4, #0x4c]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
pop {r3, r4, r5, pc}
|
|
_021E04FA:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x50]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0506:
|
|
ldr r0, [r4, #0x54]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x54]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0512:
|
|
ldr r0, [r4, #0x58]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x58]
|
|
pop {r3, r4, r5, pc}
|
|
_021E051E:
|
|
ldr r0, [r4, #0x5c]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x5c]
|
|
pop {r3, r4, r5, pc}
|
|
_021E052A:
|
|
ldr r0, [r4, #0x60]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x60]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0536:
|
|
ldr r0, [r4, #0x64]
|
|
cmp r0, #2
|
|
beq _021E0540
|
|
mov r0, #1
|
|
str r0, [r4, #0x64]
|
|
_021E0540:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0490
|
|
|
|
thumb_func_start MOD16_021E0544
|
|
MOD16_021E0544: ; 0x021E0544
|
|
ldr r3, [r2, #4]
|
|
lsl r2, r0, #2
|
|
add r2, r3, r2
|
|
str r1, [r2, #0x44]
|
|
cmp r1, #2
|
|
bne _021E0554
|
|
add r3, #0x84
|
|
str r0, [r3]
|
|
_021E0554:
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0544
|
|
|
|
thumb_func_start MOD16_021E0558
|
|
MOD16_021E0558: ; 0x021E0558
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
mov r1, #0x2c
|
|
str r2, [sp, #0xc]
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x10
|
|
ldr r6, [sp, #0x14]
|
|
str r0, [sp, #0x10]
|
|
_021E0578:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r7, [sp, #0x10]
|
|
str r0, [sp, #0x18]
|
|
add r0, #0x10
|
|
mov r4, #0
|
|
mov r5, #0x30
|
|
sub r7, #0x10
|
|
str r0, [sp, #0x18]
|
|
_021E0588:
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, r5, #0
|
|
ldr r1, [r0, #0xc]
|
|
add r0, r4, r6
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
sub r3, #0x28
|
|
bl MOD16_021D7C98
|
|
add r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #2
|
|
blt _021E0588
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #2
|
|
add r0, #0x20
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #5
|
|
blt _021E0578
|
|
mov r0, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0xa0
|
|
ldr r0, [r0, #0xc]
|
|
mov r2, #0xc0
|
|
add r0, #0x28
|
|
mov r3, #8
|
|
bl MOD16_021D7C98
|
|
ldr r3, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r2, _021E05F8 ; =MOD16_021E06CC
|
|
str r1, [r0, #0x10]
|
|
str r0, [r0, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xb
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, #0x10
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_020220C4
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E05F8: .word MOD16_021E06CC
|
|
thumb_func_end MOD16_021E0558
|
|
|
|
thumb_func_start MOD16_021E05FC
|
|
MOD16_021E05FC: ; 0x021E05FC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
mov r0, #3
|
|
_021E0608:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x44]
|
|
add r2, r2, #4
|
|
cmp r1, #0xb
|
|
blt _021E0608
|
|
ldr r0, [r5, #8]
|
|
bl FUN_02022144
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl MOD16_021DEC14
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021E063C
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl MOD16_021DEC14
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021E063C
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E05FC
|
|
|
|
thumb_func_start MOD16_021E063C
|
|
MOD16_021E063C: ; 0x021E063C
|
|
cmp r1, #9
|
|
bhi _021E06CA
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E064C: ; jump table
|
|
.short _021E06CA - _021E064C - 2 ; case 0
|
|
.short _021E0660 - _021E064C - 2 ; case 1
|
|
.short _021E066C - _021E064C - 2 ; case 2
|
|
.short _021E0678 - _021E064C - 2 ; case 3
|
|
.short _021E0684 - _021E064C - 2 ; case 4
|
|
.short _021E0690 - _021E064C - 2 ; case 5
|
|
.short _021E069C - _021E064C - 2 ; case 6
|
|
.short _021E06A8 - _021E064C - 2 ; case 7
|
|
.short _021E06B4 - _021E064C - 2 ; case 8
|
|
.short _021E06C0 - _021E064C - 2 ; case 9
|
|
_021E0660:
|
|
ldr r1, [r0, #0x44]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
_021E066C:
|
|
ldr r1, [r0, #0x48]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x48]
|
|
bx lr
|
|
_021E0678:
|
|
ldr r1, [r0, #0x4c]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x4c]
|
|
bx lr
|
|
_021E0684:
|
|
ldr r1, [r0, #0x50]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x50]
|
|
bx lr
|
|
_021E0690:
|
|
ldr r1, [r0, #0x54]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x54]
|
|
bx lr
|
|
_021E069C:
|
|
ldr r1, [r0, #0x58]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x58]
|
|
bx lr
|
|
_021E06A8:
|
|
ldr r1, [r0, #0x5c]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x5c]
|
|
bx lr
|
|
_021E06B4:
|
|
ldr r1, [r0, #0x60]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x60]
|
|
bx lr
|
|
_021E06C0:
|
|
ldr r1, [r0, #0x64]
|
|
cmp r1, #2
|
|
beq _021E06CA
|
|
mov r1, #1
|
|
str r1, [r0, #0x64]
|
|
_021E06CA:
|
|
bx lr
|
|
thumb_func_end MOD16_021E063C
|
|
|
|
thumb_func_start MOD16_021E06CC
|
|
MOD16_021E06CC: ; 0x021E06CC
|
|
ldr r2, [r2, #4]
|
|
lsl r3, r0, #2
|
|
add r3, r2, r3
|
|
str r1, [r3, #0x44]
|
|
cmp r1, #2
|
|
bne _021E06F0
|
|
add r1, r2, #0
|
|
add r1, #0x90
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _021E06F6
|
|
add r1, r2, #0
|
|
add r1, #0x84
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
add r2, #0x90
|
|
str r0, [r2]
|
|
bx lr
|
|
_021E06F0:
|
|
mov r0, #0
|
|
add r2, #0x90
|
|
str r0, [r2]
|
|
_021E06F6:
|
|
bx lr
|
|
thumb_func_end MOD16_021E06CC
|
|
|
|
thumb_func_start MOD16_021E06F8
|
|
MOD16_021E06F8: ; 0x021E06F8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
mov r1, #0x28
|
|
str r2, [sp, #0xc]
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x10
|
|
ldr r6, [sp, #0x14]
|
|
str r0, [sp, #0x10]
|
|
_021E0718:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r7, [sp, #0x10]
|
|
str r0, [sp, #0x18]
|
|
add r0, #0x10
|
|
mov r4, #0
|
|
mov r5, #0x30
|
|
sub r7, #0x10
|
|
str r0, [sp, #0x18]
|
|
_021E0728:
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, r5, #0
|
|
ldr r1, [r0, #0xc]
|
|
add r0, r4, r6
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
sub r3, #0x28
|
|
bl MOD16_021D7C98
|
|
add r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #2
|
|
blt _021E0728
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #2
|
|
add r0, #0x20
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #4
|
|
blt _021E0718
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0x80
|
|
ldr r0, [r0, #0xc]
|
|
mov r2, #0xa0
|
|
add r0, #0x20
|
|
mov r3, #0x58
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0xa0
|
|
ldr r0, [r0, #0xc]
|
|
mov r2, #0xc0
|
|
add r0, #0x24
|
|
mov r3, #8
|
|
bl MOD16_021D7C98
|
|
ldr r3, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r2, _021E07AC ; =MOD16_021E07F0
|
|
str r1, [r0, #0x10]
|
|
str r0, [r0, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xa
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, #0x10
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_020220C4
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E07AC: .word MOD16_021E07F0
|
|
thumb_func_end MOD16_021E06F8
|
|
|
|
thumb_func_start MOD16_021E07B0
|
|
MOD16_021E07B0: ; 0x021E07B0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
mov r0, #3
|
|
_021E07BC:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x44]
|
|
add r2, r2, #4
|
|
cmp r1, #0xa
|
|
blt _021E07BC
|
|
ldr r0, [r5, #8]
|
|
bl FUN_02022144
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl MOD16_021DEC14
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021E081C
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl MOD16_021DEC14
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021E081C
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E07B0
|
|
|
|
thumb_func_start MOD16_021E07F0
|
|
MOD16_021E07F0: ; 0x021E07F0
|
|
ldr r2, [r2, #4]
|
|
lsl r3, r0, #2
|
|
add r3, r2, r3
|
|
str r1, [r3, #0x44]
|
|
cmp r1, #2
|
|
bne _021E0814
|
|
add r1, r2, #0
|
|
add r1, #0x90
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _021E081A
|
|
add r1, r2, #0
|
|
add r1, #0x84
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
add r2, #0x90
|
|
str r0, [r2]
|
|
bx lr
|
|
_021E0814:
|
|
mov r0, #0
|
|
add r2, #0x90
|
|
str r0, [r2]
|
|
_021E081A:
|
|
bx lr
|
|
thumb_func_end MOD16_021E07F0
|
|
|
|
thumb_func_start MOD16_021E081C
|
|
MOD16_021E081C: ; 0x021E081C
|
|
sub r1, #0xa
|
|
cmp r1, #7
|
|
bhi _021E089C
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E082E: ; jump table
|
|
.short _021E083E - _021E082E - 2 ; case 0
|
|
.short _021E084A - _021E082E - 2 ; case 1
|
|
.short _021E0856 - _021E082E - 2 ; case 2
|
|
.short _021E0862 - _021E082E - 2 ; case 3
|
|
.short _021E086E - _021E082E - 2 ; case 4
|
|
.short _021E087A - _021E082E - 2 ; case 5
|
|
.short _021E0886 - _021E082E - 2 ; case 6
|
|
.short _021E0892 - _021E082E - 2 ; case 7
|
|
_021E083E:
|
|
ldr r1, [r0, #0x44]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
_021E084A:
|
|
ldr r1, [r0, #0x48]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x48]
|
|
bx lr
|
|
_021E0856:
|
|
ldr r1, [r0, #0x4c]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x4c]
|
|
bx lr
|
|
_021E0862:
|
|
ldr r1, [r0, #0x50]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x50]
|
|
bx lr
|
|
_021E086E:
|
|
ldr r1, [r0, #0x54]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x54]
|
|
bx lr
|
|
_021E087A:
|
|
ldr r1, [r0, #0x58]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x58]
|
|
bx lr
|
|
_021E0886:
|
|
ldr r1, [r0, #0x5c]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x5c]
|
|
bx lr
|
|
_021E0892:
|
|
ldr r1, [r0, #0x60]
|
|
cmp r1, #2
|
|
beq _021E089C
|
|
mov r1, #1
|
|
str r1, [r0, #0x60]
|
|
_021E089C:
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E081C
|
|
|
|
thumb_func_start MOD16_021E08A0
|
|
MOD16_021E08A0: ; 0x021E08A0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
mov r1, #0x3c
|
|
str r2, [sp, #0xc]
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x10
|
|
ldr r6, [sp, #0x14]
|
|
str r0, [sp, #0x10]
|
|
_021E08C0:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r7, [sp, #0x10]
|
|
str r0, [sp, #0x18]
|
|
add r0, #0x10
|
|
mov r4, #0
|
|
mov r5, #0x1c
|
|
sub r7, #0x10
|
|
str r0, [sp, #0x18]
|
|
_021E08D0:
|
|
add r0, r5, #0
|
|
add r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r3, r5, #0
|
|
ldr r1, [r0, #0xc]
|
|
add r0, r4, r6
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
sub r3, #0x18
|
|
bl MOD16_021D7C98
|
|
add r4, r4, #1
|
|
add r5, #0x38
|
|
cmp r4, #3
|
|
blt _021E08D0
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #3
|
|
add r0, #0x20
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #5
|
|
blt _021E08C0
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #4]
|
|
str r1, [r0, #0x10]
|
|
str r0, [r0, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E092C ; =MOD16_021E0A28
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0xf
|
|
ldr r0, [r0, #0xc]
|
|
add r3, #0x10
|
|
bl FUN_020220C4
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E092C: .word MOD16_021E0A28
|
|
thumb_func_end MOD16_021E08A0
|
|
|
|
thumb_func_start MOD16_021E0930
|
|
MOD16_021E0930: ; 0x021E0930
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #3
|
|
_021E093C:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x44]
|
|
add r2, r2, #4
|
|
cmp r1, #0xf
|
|
blt _021E093C
|
|
ldr r0, [r4, #8]
|
|
bl FUN_02022144
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021DEC38
|
|
cmp r0, #0xe
|
|
bhi _021E0A26
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0962: ; jump table
|
|
.short _021E0A26 - _021E0962 - 2 ; case 0
|
|
.short _021E0980 - _021E0962 - 2 ; case 1
|
|
.short _021E098C - _021E0962 - 2 ; case 2
|
|
.short _021E0998 - _021E0962 - 2 ; case 3
|
|
.short _021E09A4 - _021E0962 - 2 ; case 4
|
|
.short _021E09B0 - _021E0962 - 2 ; case 5
|
|
.short _021E09BC - _021E0962 - 2 ; case 6
|
|
.short _021E09C8 - _021E0962 - 2 ; case 7
|
|
.short _021E09D4 - _021E0962 - 2 ; case 8
|
|
.short _021E09E0 - _021E0962 - 2 ; case 9
|
|
.short _021E09EC - _021E0962 - 2 ; case 10
|
|
.short _021E09F8 - _021E0962 - 2 ; case 11
|
|
.short _021E0A04 - _021E0962 - 2 ; case 12
|
|
.short _021E0A10 - _021E0962 - 2 ; case 13
|
|
.short _021E0A1C - _021E0962 - 2 ; case 14
|
|
_021E0980:
|
|
ldr r0, [r4, #0x60]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x60]
|
|
pop {r3, r4, r5, pc}
|
|
_021E098C:
|
|
ldr r0, [r4, #0x70]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x70]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0998:
|
|
ldr r0, [r4, #0x58]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x58]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09A4:
|
|
ldr r0, [r4, #0x48]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x48]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09B0:
|
|
ldr r0, [r4, #0x74]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x74]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09BC:
|
|
ldr r0, [r4, #0x64]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x64]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09C8:
|
|
ldr r0, [r4, #0x78]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x78]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09D4:
|
|
ldr r0, [r4, #0x54]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x54]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09E0:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x50]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09EC:
|
|
ldr r0, [r4, #0x5c]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x5c]
|
|
pop {r3, r4, r5, pc}
|
|
_021E09F8:
|
|
ldr r0, [r4, #0x68]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x68]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0A04:
|
|
ldr r0, [r4, #0x4c]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0A10:
|
|
ldr r0, [r4, #0x44]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x44]
|
|
pop {r3, r4, r5, pc}
|
|
_021E0A1C:
|
|
ldr r0, [r4, #0x6c]
|
|
cmp r0, #2
|
|
beq _021E0A26
|
|
mov r0, #1
|
|
str r0, [r4, #0x6c]
|
|
_021E0A26:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E0930
|
|
|
|
thumb_func_start MOD16_021E0A28
|
|
MOD16_021E0A28: ; 0x021E0A28
|
|
ldr r3, [r2, #4]
|
|
lsl r2, r0, #2
|
|
add r2, r3, r2
|
|
str r1, [r2, #0x44]
|
|
cmp r1, #2
|
|
bne _021E0A38
|
|
add r3, #0x84
|
|
str r0, [r3]
|
|
_021E0A38:
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0A28
|
|
|
|
thumb_func_start MOD16_021E0A3C
|
|
MOD16_021E0A3C: ; 0x021E0A3C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
cmp r4, #5
|
|
bhi _021E0A9A
|
|
add r5, r4, r4
|
|
add r5, pc
|
|
ldrh r5, [r5, #6]
|
|
lsl r5, r5, #0x10
|
|
asr r5, r5, #0x10
|
|
add pc, r5
|
|
_021E0A54: ; jump table
|
|
.short _021E0A60 - _021E0A54 - 2 ; case 0
|
|
.short _021E0A6A - _021E0A54 - 2 ; case 1
|
|
.short _021E0A74 - _021E0A54 - 2 ; case 2
|
|
.short _021E0A7E - _021E0A54 - 2 ; case 3
|
|
.short _021E0A88 - _021E0A54 - 2 ; case 4
|
|
.short _021E0A92 - _021E0A54 - 2 ; case 5
|
|
_021E0A60:
|
|
mov r2, #0x10
|
|
mov r1, #0xd4
|
|
mov r3, #0x1c
|
|
add r0, r2, #0
|
|
b _021E0A9A
|
|
_021E0A6A:
|
|
mov r1, #0xe0
|
|
mov r2, #0x30
|
|
mov r3, #0x2c
|
|
mov r0, #0x10
|
|
b _021E0A9A
|
|
_021E0A74:
|
|
mov r1, #0xe0
|
|
mov r2, #0x50
|
|
mov r3, #0x2c
|
|
mov r0, #0x10
|
|
b _021E0A9A
|
|
_021E0A7E:
|
|
mov r1, #0xe0
|
|
mov r2, #0x70
|
|
mov r3, #0x2c
|
|
mov r0, #0x10
|
|
b _021E0A9A
|
|
_021E0A88:
|
|
mov r1, #0xe0
|
|
mov r2, #0x90
|
|
mov r3, #0x2c
|
|
mov r0, #0x10
|
|
b _021E0A9A
|
|
_021E0A92:
|
|
mov r1, #0xd4
|
|
mov r2, #0xb0
|
|
mov r3, #0x3c
|
|
mov r0, #0x10
|
|
_021E0A9A:
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
str r4, [sp, #0xc]
|
|
bl MOD16_021DB590
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0A3C
|
|
|
|
thumb_func_start MOD16_021E0AB0
|
|
MOD16_021E0AB0: ; 0x021E0AB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E0BB4 ; =0x021C48B8
|
|
ldr r1, [r0, #0x44]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021E0B86
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E0B94
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB528
|
|
cmp r0, #5
|
|
bhi _021E0B76
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0ADE: ; jump table
|
|
.short _021E0B60 - _021E0ADE - 2 ; case 0
|
|
.short _021E0AEA - _021E0ADE - 2 ; case 1
|
|
.short _021E0B02 - _021E0ADE - 2 ; case 2
|
|
.short _021E0B18 - _021E0ADE - 2 ; case 3
|
|
.short _021E0B30 - _021E0ADE - 2 ; case 4
|
|
.short _021E0B48 - _021E0ADE - 2 ; case 5
|
|
_021E0AEA:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
b _021E0B76
|
|
_021E0B02:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
b _021E0B76
|
|
_021E0B18:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
b _021E0B76
|
|
_021E0B30:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
b _021E0B76
|
|
_021E0B48:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
b _021E0B76
|
|
_021E0B60:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
_021E0B76:
|
|
add r0, r4, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x94
|
|
str r1, [r0]
|
|
b _021E0B94
|
|
_021E0B86:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x94
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021E0B94:
|
|
ldr r0, _021E0BB4 ; =0x021C48B8
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x48]
|
|
tst r0, r1
|
|
beq _021E0BB2
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
add r0, #0x80
|
|
str r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x2c]
|
|
_021E0BB2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E0BB4: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E0AB0
|
|
|
|
thumb_func_start MOD16_021E0BB8
|
|
MOD16_021E0BB8: ; 0x021E0BB8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r0, r1, #0
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #6
|
|
ldr r7, [sp, #0x20]
|
|
str r0, [sp, #0x18]
|
|
_021E0BDC:
|
|
mov r4, #0
|
|
mov r6, #0x30
|
|
_021E0BE0:
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r4, r0
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #5
|
|
bhi _021E0C48
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0BF6: ; jump table
|
|
.short _021E0C02 - _021E0BF6 - 2 ; case 0
|
|
.short _021E0C0E - _021E0BF6 - 2 ; case 1
|
|
.short _021E0C1A - _021E0BF6 - 2 ; case 2
|
|
.short _021E0C26 - _021E0BF6 - 2 ; case 3
|
|
.short _021E0C32 - _021E0BF6 - 2 ; case 4
|
|
.short _021E0C3E - _021E0BF6 - 2 ; case 5
|
|
_021E0C02:
|
|
cmp r4, #2
|
|
bne _021E0C0A
|
|
mov r1, #0
|
|
b _021E0C48
|
|
_021E0C0A:
|
|
mov r5, #1
|
|
b _021E0C48
|
|
_021E0C0E:
|
|
cmp r4, #2
|
|
bne _021E0C16
|
|
mov r1, #1
|
|
b _021E0C48
|
|
_021E0C16:
|
|
mov r5, #0
|
|
b _021E0C48
|
|
_021E0C1A:
|
|
cmp r4, #2
|
|
bne _021E0C22
|
|
mov r1, #2
|
|
b _021E0C48
|
|
_021E0C22:
|
|
mov r5, #0
|
|
b _021E0C48
|
|
_021E0C26:
|
|
cmp r4, #2
|
|
bne _021E0C2E
|
|
mov r1, #3
|
|
b _021E0C48
|
|
_021E0C2E:
|
|
mov r5, #0
|
|
b _021E0C48
|
|
_021E0C32:
|
|
cmp r4, #2
|
|
bne _021E0C3A
|
|
mov r1, #4
|
|
b _021E0C48
|
|
_021E0C3A:
|
|
mov r5, #1
|
|
b _021E0C48
|
|
_021E0C3E:
|
|
cmp r4, #2
|
|
bne _021E0C46
|
|
mov r1, #5
|
|
b _021E0C48
|
|
_021E0C46:
|
|
mov r5, #1
|
|
_021E0C48:
|
|
cmp r4, #2
|
|
bge _021E0C6E
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
str r5, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, r7
|
|
mov r1, #0x1c
|
|
mul r1, r2
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r0, r1
|
|
add r1, r6, #0
|
|
mov r3, #0x3c
|
|
bl MOD16_021DB590
|
|
b _021E0C7E
|
|
_021E0C6E:
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, r7
|
|
ldr r3, [r0, #0x1c]
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
bl MOD16_021E0A3C
|
|
_021E0C7E:
|
|
add r4, r4, #1
|
|
add r6, #0x50
|
|
cmp r4, #3
|
|
blt _021E0BE0
|
|
ldr r0, [sp, #0x1c]
|
|
add r7, r7, #3
|
|
add r0, #0x20
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #6
|
|
blt _021E0BDC
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB490
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #3
|
|
str r0, [r1, #0x18]
|
|
ldr r1, [r1, #0x1c]
|
|
mov r3, #6
|
|
bl MOD16_021DB4B0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0BB8
|
|
|
|
thumb_func_start MOD16_021E0CB8
|
|
MOD16_021E0CB8: ; 0x021E0CB8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E0D8C ; =0x021C48B8
|
|
ldr r1, [r0, #0x44]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021E0D82
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E0D88
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB528
|
|
sub r0, #8
|
|
cmp r0, #5
|
|
bhi _021E0D88
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0CE8: ; jump table
|
|
.short _021E0CF4 - _021E0CE8 - 2 ; case 0
|
|
.short _021E0D0C - _021E0CE8 - 2 ; case 1
|
|
.short _021E0D24 - _021E0CE8 - 2 ; case 2
|
|
.short _021E0D3A - _021E0CE8 - 2 ; case 3
|
|
.short _021E0D52 - _021E0CE8 - 2 ; case 4
|
|
.short _021E0D6A - _021E0CE8 - 2 ; case 5
|
|
_021E0CF4:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0D0C:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0D24:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0D3A:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0D52:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0D6A:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0D82:
|
|
mov r0, #0
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
_021E0D88:
|
|
pop {r4, pc}
|
|
nop
|
|
_021E0D8C: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E0CB8
|
|
|
|
thumb_func_start MOD16_021E0D90
|
|
MOD16_021E0D90: ; 0x021E0D90
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r0, r1, #0
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #6
|
|
ldr r7, [sp, #0x20]
|
|
str r0, [sp, #0x18]
|
|
_021E0DB4:
|
|
mov r4, #0
|
|
mov r6, #0x30
|
|
_021E0DB8:
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r4, r0
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #5
|
|
bhi _021E0E20
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0DCE: ; jump table
|
|
.short _021E0DDA - _021E0DCE - 2 ; case 0
|
|
.short _021E0DE6 - _021E0DCE - 2 ; case 1
|
|
.short _021E0DF2 - _021E0DCE - 2 ; case 2
|
|
.short _021E0DFE - _021E0DCE - 2 ; case 3
|
|
.short _021E0E0A - _021E0DCE - 2 ; case 4
|
|
.short _021E0E16 - _021E0DCE - 2 ; case 5
|
|
_021E0DDA:
|
|
cmp r4, #2
|
|
bne _021E0DE2
|
|
mov r1, #0
|
|
b _021E0E20
|
|
_021E0DE2:
|
|
mov r5, #0
|
|
b _021E0E20
|
|
_021E0DE6:
|
|
cmp r4, #2
|
|
bne _021E0DEE
|
|
mov r1, #1
|
|
b _021E0E20
|
|
_021E0DEE:
|
|
mov r5, #0
|
|
b _021E0E20
|
|
_021E0DF2:
|
|
cmp r4, #2
|
|
bne _021E0DFA
|
|
mov r1, #2
|
|
b _021E0E20
|
|
_021E0DFA:
|
|
mov r5, #0
|
|
b _021E0E20
|
|
_021E0DFE:
|
|
cmp r4, #2
|
|
bne _021E0E06
|
|
mov r1, #3
|
|
b _021E0E20
|
|
_021E0E06:
|
|
mov r5, #0
|
|
b _021E0E20
|
|
_021E0E0A:
|
|
cmp r4, #2
|
|
bne _021E0E12
|
|
mov r1, #4
|
|
b _021E0E20
|
|
_021E0E12:
|
|
mov r5, #0
|
|
b _021E0E20
|
|
_021E0E16:
|
|
cmp r4, #2
|
|
bne _021E0E1E
|
|
mov r1, #5
|
|
b _021E0E20
|
|
_021E0E1E:
|
|
mov r5, #1
|
|
_021E0E20:
|
|
cmp r4, #2
|
|
bge _021E0E46
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
str r5, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, r7
|
|
mov r1, #0x1c
|
|
mul r1, r2
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r0, r1
|
|
add r1, r6, #0
|
|
mov r3, #0x3c
|
|
bl MOD16_021DB590
|
|
b _021E0E56
|
|
_021E0E46:
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, r7
|
|
ldr r3, [r0, #0x1c]
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
bl MOD16_021E0A3C
|
|
_021E0E56:
|
|
add r4, r4, #1
|
|
add r6, #0x50
|
|
cmp r4, #3
|
|
blt _021E0DB8
|
|
ldr r0, [sp, #0x1c]
|
|
add r7, r7, #3
|
|
add r0, #0x20
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #6
|
|
blt _021E0DB4
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB490
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #3
|
|
str r0, [r1, #0x18]
|
|
ldr r1, [r1, #0x1c]
|
|
mov r3, #6
|
|
bl MOD16_021DB4B0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E0D90
|
|
|
|
thumb_func_start MOD16_021E0E90
|
|
MOD16_021E0E90: ; 0x021E0E90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E0FD8 ; =0x021C48B8
|
|
ldr r1, [r0, #0x44]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
bne _021E0EA0
|
|
b _021E0FD0
|
|
_021E0EA0:
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E0EB4
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB528
|
|
cmp r0, #0xf
|
|
bls _021E0EB6
|
|
_021E0EB4:
|
|
b _021E0FD6
|
|
_021E0EB6:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E0EC2: ; jump table
|
|
.short _021E0FD6 - _021E0EC2 - 2 ; case 0
|
|
.short _021E0FD6 - _021E0EC2 - 2 ; case 1
|
|
.short _021E0FD6 - _021E0EC2 - 2 ; case 2
|
|
.short _021E0FD6 - _021E0EC2 - 2 ; case 3
|
|
.short _021E0FD6 - _021E0EC2 - 2 ; case 4
|
|
.short _021E0FD6 - _021E0EC2 - 2 ; case 5
|
|
.short _021E0EE2 - _021E0EC2 - 2 ; case 6
|
|
.short _021E0EFA - _021E0EC2 - 2 ; case 7
|
|
.short _021E0F12 - _021E0EC2 - 2 ; case 8
|
|
.short _021E0F28 - _021E0EC2 - 2 ; case 9
|
|
.short _021E0F40 - _021E0EC2 - 2 ; case 10
|
|
.short _021E0F58 - _021E0EC2 - 2 ; case 11
|
|
.short _021E0F70 - _021E0EC2 - 2 ; case 12
|
|
.short _021E0F88 - _021E0EC2 - 2 ; case 13
|
|
.short _021E0FA0 - _021E0EC2 - 2 ; case 14
|
|
.short _021E0FB8 - _021E0EC2 - 2 ; case 15
|
|
_021E0EE2:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0EFA:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0F12:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0F28:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0F40:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0F58:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0F70:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0F88:
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0FA0:
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0FB8:
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E0FD0:
|
|
mov r0, #0
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
_021E0FD6:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E0FD8: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E0E90
|
|
|
|
thumb_func_start MOD16_021E0FDC
|
|
MOD16_021E0FDC: ; 0x021E0FDC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r0, r1, #0
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x28]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x24]
|
|
mov r0, #6
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #0x1c]
|
|
_021E1002:
|
|
mov r0, #0x30
|
|
mov r4, #0
|
|
str r0, [sp, #0x18]
|
|
_021E1008:
|
|
ldr r0, [sp, #0x20]
|
|
ldr r3, [sp, #0x18]
|
|
add r1, r4, r0
|
|
ldr r0, [sp, #0x28]
|
|
cmp r0, #5
|
|
bhi _021E1098
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1020: ; jump table
|
|
.short _021E102C - _021E1020 - 2 ; case 0
|
|
.short _021E103C - _021E1020 - 2 ; case 1
|
|
.short _021E104C - _021E1020 - 2 ; case 2
|
|
.short _021E105C - _021E1020 - 2 ; case 3
|
|
.short _021E106C - _021E1020 - 2 ; case 4
|
|
.short _021E107C - _021E1020 - 2 ; case 5
|
|
_021E102C:
|
|
cmp r4, #2
|
|
bne _021E1034
|
|
mov r1, #0
|
|
b _021E1098
|
|
_021E1034:
|
|
mov r5, #0
|
|
mov r7, #0x3c
|
|
mov r6, #0x10
|
|
b _021E1098
|
|
_021E103C:
|
|
cmp r4, #2
|
|
bne _021E1044
|
|
mov r1, #1
|
|
b _021E1098
|
|
_021E1044:
|
|
mov r5, #0
|
|
mov r7, #0x3c
|
|
mov r6, #0x10
|
|
b _021E1098
|
|
_021E104C:
|
|
cmp r4, #2
|
|
bne _021E1054
|
|
mov r1, #2
|
|
b _021E1098
|
|
_021E1054:
|
|
mov r5, #0
|
|
mov r7, #0x3c
|
|
mov r6, #0x10
|
|
b _021E1098
|
|
_021E105C:
|
|
cmp r4, #2
|
|
bne _021E1064
|
|
mov r1, #3
|
|
b _021E1098
|
|
_021E1064:
|
|
mov r5, #0
|
|
mov r7, #0x3c
|
|
mov r6, #0x10
|
|
b _021E1098
|
|
_021E106C:
|
|
cmp r4, #2
|
|
bne _021E1074
|
|
mov r1, #4
|
|
b _021E1098
|
|
_021E1074:
|
|
mov r5, #0
|
|
mov r7, #0x3c
|
|
mov r6, #0x10
|
|
b _021E1098
|
|
_021E107C:
|
|
cmp r4, #2
|
|
bne _021E1084
|
|
mov r1, #5
|
|
b _021E1098
|
|
_021E1084:
|
|
cmp r4, #0
|
|
bne _021E1092
|
|
mov r7, #0x10
|
|
mov r5, #0
|
|
add r6, r7, #0
|
|
mov r3, #0x18
|
|
b _021E1098
|
|
_021E1092:
|
|
mov r5, #1
|
|
mov r7, #0x3c
|
|
mov r6, #0x10
|
|
_021E1098:
|
|
cmp r4, #2
|
|
bge _021E10BE
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
str r5, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r0, #0x1c]
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, r4, r0
|
|
mov r0, #0x1c
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
add r1, r3, #0
|
|
ldr r2, [sp, #0x24]
|
|
add r3, r7, #0
|
|
bl MOD16_021DB590
|
|
b _021E10D0
|
|
_021E10BE:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [r0, #0x1c]
|
|
ldr r0, [sp, #0x1c]
|
|
add r2, r4, r0
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
bl MOD16_021E0A3C
|
|
_021E10D0:
|
|
ldr r0, [sp, #0x18]
|
|
add r4, r4, #1
|
|
add r0, #0x50
|
|
str r0, [sp, #0x18]
|
|
cmp r4, #3
|
|
blt _021E1008
|
|
ldr r0, [sp, #0x24]
|
|
add r0, #0x20
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #3
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x28]
|
|
cmp r0, #6
|
|
blt _021E1002
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB490
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #3
|
|
str r0, [r1, #0x18]
|
|
ldr r1, [r1, #0x1c]
|
|
mov r3, #6
|
|
bl MOD16_021DB4B0
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E0FDC
|
|
|
|
thumb_func_start MOD16_021E1110
|
|
MOD16_021E1110: ; 0x021E1110
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E1278 ; =0x021C48B8
|
|
ldr r1, [r0, #0x44]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
bne _021E1120
|
|
b _021E1270
|
|
_021E1120:
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E1134
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB528
|
|
cmp r0, #0x10
|
|
bls _021E1136
|
|
_021E1134:
|
|
b _021E1276
|
|
_021E1136:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1142: ; jump table
|
|
.short _021E1276 - _021E1142 - 2 ; case 0
|
|
.short _021E1276 - _021E1142 - 2 ; case 1
|
|
.short _021E1276 - _021E1142 - 2 ; case 2
|
|
.short _021E1276 - _021E1142 - 2 ; case 3
|
|
.short _021E1276 - _021E1142 - 2 ; case 4
|
|
.short _021E1276 - _021E1142 - 2 ; case 5
|
|
.short _021E1164 - _021E1142 - 2 ; case 6
|
|
.short _021E117C - _021E1142 - 2 ; case 7
|
|
.short _021E1194 - _021E1142 - 2 ; case 8
|
|
.short _021E11AA - _021E1142 - 2 ; case 9
|
|
.short _021E11C2 - _021E1142 - 2 ; case 10
|
|
.short _021E11DA - _021E1142 - 2 ; case 11
|
|
.short _021E11F2 - _021E1142 - 2 ; case 12
|
|
.short _021E120A - _021E1142 - 2 ; case 13
|
|
.short _021E1222 - _021E1142 - 2 ; case 14
|
|
.short _021E123A - _021E1142 - 2 ; case 15
|
|
.short _021E1258 - _021E1142 - 2 ; case 16
|
|
_021E1164:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E117C:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1194:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E11AA:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E11C2:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E11DA:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E11F2:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E120A:
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1222:
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E123A:
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
mov r0, #1
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_021E1258:
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1270:
|
|
mov r0, #0
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
_021E1276:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E1278: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E1110
|
|
|
|
thumb_func_start MOD16_021E127C
|
|
MOD16_021E127C: ; 0x021E127C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r0, r1, #0
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x24]
|
|
mov r0, #6
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x1c]
|
|
_021E12A2:
|
|
mov r0, #0x30
|
|
mov r4, #0
|
|
str r0, [sp, #0x18]
|
|
_021E12A8:
|
|
ldr r0, [sp, #0x20]
|
|
ldr r3, [sp, #0x18]
|
|
add r1, r4, r0
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #5
|
|
bhi _021E1364
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E12C0: ; jump table
|
|
.short _021E12CC - _021E12C0 - 2 ; case 0
|
|
.short _021E12E0 - _021E12C0 - 2 ; case 1
|
|
.short _021E12F4 - _021E12C0 - 2 ; case 2
|
|
.short _021E1308 - _021E12C0 - 2 ; case 3
|
|
.short _021E131C - _021E12C0 - 2 ; case 4
|
|
.short _021E1340 - _021E12C0 - 2 ; case 5
|
|
_021E12CC:
|
|
cmp r4, #2
|
|
bne _021E12D4
|
|
mov r1, #0
|
|
b _021E1364
|
|
_021E12D4:
|
|
mov r6, #0
|
|
mov r0, #0x3c
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
b _021E1364
|
|
_021E12E0:
|
|
cmp r4, #2
|
|
bne _021E12E8
|
|
mov r1, #1
|
|
b _021E1364
|
|
_021E12E8:
|
|
mov r6, #0
|
|
mov r0, #0x3c
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
b _021E1364
|
|
_021E12F4:
|
|
cmp r4, #2
|
|
bne _021E12FC
|
|
mov r1, #2
|
|
b _021E1364
|
|
_021E12FC:
|
|
mov r6, #0
|
|
mov r0, #0x3c
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
b _021E1364
|
|
_021E1308:
|
|
cmp r4, #2
|
|
bne _021E1310
|
|
mov r1, #3
|
|
b _021E1364
|
|
_021E1310:
|
|
mov r6, #0
|
|
mov r0, #0x3c
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
b _021E1364
|
|
_021E131C:
|
|
cmp r4, #2
|
|
bne _021E1324
|
|
mov r1, #4
|
|
b _021E1364
|
|
_021E1324:
|
|
cmp r4, #0
|
|
bne _021E1334
|
|
mov r0, #0x3c
|
|
mov r6, #1
|
|
mov r5, #2
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
b _021E1364
|
|
_021E1334:
|
|
mov r6, #0
|
|
mov r0, #0x3c
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
b _021E1364
|
|
_021E1340:
|
|
cmp r4, #2
|
|
bne _021E1348
|
|
mov r1, #5
|
|
b _021E1364
|
|
_021E1348:
|
|
cmp r4, #0
|
|
bne _021E135A
|
|
mov r0, #0x10
|
|
mov r6, #0
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
add r7, r0, #0
|
|
mov r3, #0x18
|
|
b _021E1364
|
|
_021E135A:
|
|
mov r6, #1
|
|
mov r0, #0x3c
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x28]
|
|
mov r7, #0x10
|
|
_021E1364:
|
|
cmp r4, #2
|
|
bge _021E138A
|
|
str r7, [sp]
|
|
str r6, [sp, #4]
|
|
str r5, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r0, #0x1c]
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, r4, r0
|
|
mov r0, #0x1c
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
add r1, r3, #0
|
|
ldr r2, [sp, #0x24]
|
|
ldr r3, [sp, #0x28]
|
|
bl MOD16_021DB590
|
|
b _021E139C
|
|
_021E138A:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [r0, #0x1c]
|
|
ldr r0, [sp, #0x1c]
|
|
add r2, r4, r0
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
bl MOD16_021E0A3C
|
|
_021E139C:
|
|
ldr r0, [sp, #0x18]
|
|
add r4, r4, #1
|
|
add r0, #0x50
|
|
str r0, [sp, #0x18]
|
|
cmp r4, #3
|
|
bge _021E13AA
|
|
b _021E12A8
|
|
_021E13AA:
|
|
ldr r0, [sp, #0x24]
|
|
add r0, #0x20
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #3
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x2c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x2c]
|
|
cmp r0, #6
|
|
bge _021E13C8
|
|
b _021E12A2
|
|
_021E13C8:
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB490
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #3
|
|
str r0, [r1, #0x18]
|
|
ldr r1, [r1, #0x1c]
|
|
mov r3, #6
|
|
bl MOD16_021DB4B0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E127C
|
|
|
|
thumb_func_start MOD16_021E13E0
|
|
MOD16_021E13E0: ; 0x021E13E0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E1530 ; =0x021C48B8
|
|
ldr r1, [r0, #0x44]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
bne _021E13F0
|
|
b _021E1528
|
|
_021E13F0:
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E1404
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB528
|
|
cmp r0, #0x10
|
|
bls _021E1406
|
|
_021E1404:
|
|
b _021E152E
|
|
_021E1406:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1412: ; jump table
|
|
.short _021E152E - _021E1412 - 2 ; case 0
|
|
.short _021E152E - _021E1412 - 2 ; case 1
|
|
.short _021E152E - _021E1412 - 2 ; case 2
|
|
.short _021E152E - _021E1412 - 2 ; case 3
|
|
.short _021E152E - _021E1412 - 2 ; case 4
|
|
.short _021E152E - _021E1412 - 2 ; case 5
|
|
.short _021E1434 - _021E1412 - 2 ; case 6
|
|
.short _021E144C - _021E1412 - 2 ; case 7
|
|
.short _021E1464 - _021E1412 - 2 ; case 8
|
|
.short _021E147A - _021E1412 - 2 ; case 9
|
|
.short _021E1492 - _021E1412 - 2 ; case 10
|
|
.short _021E14AA - _021E1412 - 2 ; case 11
|
|
.short _021E14C2 - _021E1412 - 2 ; case 12
|
|
.short _021E14DA - _021E1412 - 2 ; case 13
|
|
.short _021E152E - _021E1412 - 2 ; case 14
|
|
.short _021E14F2 - _021E1412 - 2 ; case 15
|
|
.short _021E1510 - _021E1412 - 2 ; case 16
|
|
_021E1434:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E144C:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1464:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E147A:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1492:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E14AA:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E14C2:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E14DA:
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E14F2:
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
mov r0, #1
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_021E1510:
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1528:
|
|
mov r0, #0
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
_021E152E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E1530: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E13E0
|
|
|
|
thumb_func_start MOD16_021E1534
|
|
MOD16_021E1534: ; 0x021E1534
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r0, r1, #0
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #4
|
|
bl AllocFromHeap
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #6
|
|
ldr r7, [sp, #0x20]
|
|
str r0, [sp, #0x18]
|
|
_021E1558:
|
|
mov r4, #0
|
|
mov r6, #0x1c
|
|
_021E155C:
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r4, r0
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #5
|
|
bhi _021E15C4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1572: ; jump table
|
|
.short _021E157E - _021E1572 - 2 ; case 0
|
|
.short _021E158A - _021E1572 - 2 ; case 1
|
|
.short _021E1596 - _021E1572 - 2 ; case 2
|
|
.short _021E15A2 - _021E1572 - 2 ; case 3
|
|
.short _021E15AE - _021E1572 - 2 ; case 4
|
|
.short _021E15BA - _021E1572 - 2 ; case 5
|
|
_021E157E:
|
|
cmp r4, #3
|
|
bne _021E1586
|
|
mov r1, #0
|
|
b _021E15C4
|
|
_021E1586:
|
|
mov r5, #0
|
|
b _021E15C4
|
|
_021E158A:
|
|
cmp r4, #3
|
|
bne _021E1592
|
|
mov r1, #1
|
|
b _021E15C4
|
|
_021E1592:
|
|
mov r5, #0
|
|
b _021E15C4
|
|
_021E1596:
|
|
cmp r4, #3
|
|
bne _021E159E
|
|
mov r1, #2
|
|
b _021E15C4
|
|
_021E159E:
|
|
mov r5, #0
|
|
b _021E15C4
|
|
_021E15A2:
|
|
cmp r4, #3
|
|
bne _021E15AA
|
|
mov r1, #3
|
|
b _021E15C4
|
|
_021E15AA:
|
|
mov r5, #0
|
|
b _021E15C4
|
|
_021E15AE:
|
|
cmp r4, #3
|
|
bne _021E15B6
|
|
mov r1, #4
|
|
b _021E15C4
|
|
_021E15B6:
|
|
mov r5, #0
|
|
b _021E15C4
|
|
_021E15BA:
|
|
cmp r4, #3
|
|
bne _021E15C2
|
|
mov r1, #5
|
|
b _021E15C4
|
|
_021E15C2:
|
|
mov r5, #1
|
|
_021E15C4:
|
|
cmp r4, #3
|
|
bge _021E15EA
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
str r5, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, r7
|
|
mov r1, #0x1c
|
|
mul r1, r2
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r0, r1
|
|
add r1, r6, #0
|
|
mov r3, #0x20
|
|
bl MOD16_021DB590
|
|
b _021E15FA
|
|
_021E15EA:
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, r7
|
|
ldr r3, [r0, #0x1c]
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
bl MOD16_021E0A3C
|
|
_021E15FA:
|
|
add r4, r4, #1
|
|
add r6, #0x38
|
|
cmp r4, #4
|
|
blt _021E155C
|
|
ldr r0, [sp, #0x1c]
|
|
add r7, r7, #4
|
|
add r0, #0x20
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #3
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #6
|
|
blt _021E1558
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB490
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #4
|
|
str r0, [r1, #0x18]
|
|
ldr r1, [r1, #0x1c]
|
|
mov r3, #6
|
|
bl MOD16_021DB4B0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E1534
|
|
|
|
thumb_func_start MOD16_021E1634
|
|
MOD16_021E1634: ; 0x021E1634
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E1800 ; =0x021C48B8
|
|
ldr r1, [r0, #0x44]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
bne _021E1644
|
|
b _021E17F6
|
|
_021E1644:
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E1658
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB528
|
|
cmp r0, #0x14
|
|
bls _021E165A
|
|
_021E1658:
|
|
b _021E17FC
|
|
_021E165A:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1666: ; jump table
|
|
.short _021E17FC - _021E1666 - 2 ; case 0
|
|
.short _021E17FC - _021E1666 - 2 ; case 1
|
|
.short _021E17FC - _021E1666 - 2 ; case 2
|
|
.short _021E17FC - _021E1666 - 2 ; case 3
|
|
.short _021E17FC - _021E1666 - 2 ; case 4
|
|
.short _021E17FC - _021E1666 - 2 ; case 5
|
|
.short _021E1690 - _021E1666 - 2 ; case 6
|
|
.short _021E16A8 - _021E1666 - 2 ; case 7
|
|
.short _021E16C0 - _021E1666 - 2 ; case 8
|
|
.short _021E16D6 - _021E1666 - 2 ; case 9
|
|
.short _021E16EE - _021E1666 - 2 ; case 10
|
|
.short _021E1706 - _021E1666 - 2 ; case 11
|
|
.short _021E171E - _021E1666 - 2 ; case 12
|
|
.short _021E1736 - _021E1666 - 2 ; case 13
|
|
.short _021E174E - _021E1666 - 2 ; case 14
|
|
.short _021E1766 - _021E1666 - 2 ; case 15
|
|
.short _021E177E - _021E1666 - 2 ; case 16
|
|
.short _021E1796 - _021E1666 - 2 ; case 17
|
|
.short _021E17AE - _021E1666 - 2 ; case 18
|
|
.short _021E17C6 - _021E1666 - 2 ; case 19
|
|
.short _021E17DE - _021E1666 - 2 ; case 20
|
|
_021E1690:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E16A8:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E16C0:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E16D6:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E16EE:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1706:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E171E:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1736:
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E174E:
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1766:
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E177E:
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E1796:
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E17AE:
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E17C6:
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E17DE:
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r1, [r0, #0x44]
|
|
pop {r4, pc}
|
|
_021E17F6:
|
|
mov r0, #0
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
_021E17FC:
|
|
pop {r4, pc}
|
|
nop
|
|
_021E1800: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E1634
|
|
|
|
thumb_func_start MOD16_021E1804
|
|
MOD16_021E1804: ; 0x021E1804
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E1890 ; =0x021C48B8
|
|
add r4, r1, #0
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021E1826
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl MOD16_021DB4CC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021E1826:
|
|
ldr r0, _021E1890 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021E1842
|
|
mov r1, #0
|
|
ldr r0, [r5, #0x18]
|
|
sub r2, r1, #1
|
|
bl MOD16_021DB4CC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021E1842:
|
|
ldr r0, _021E1890 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x40
|
|
tst r0, r1
|
|
beq _021E185E
|
|
mov r1, #1
|
|
ldr r0, [r5, #0x18]
|
|
sub r2, r1, #2
|
|
bl MOD16_021DB4CC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021E185E:
|
|
ldr r0, _021E1890 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _021E187A
|
|
mov r1, #1
|
|
ldr r0, [r5, #0x18]
|
|
add r2, r1, #0
|
|
bl MOD16_021DB4CC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021E187A:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E0AB0
|
|
ldr r2, [r5, #0x24]
|
|
ldr r3, [r5, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E1894
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E1890: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E1804
|
|
|
|
thumb_func_start MOD16_021E1894
|
|
MOD16_021E1894: ; 0x021E1894
|
|
push {r3, lr}
|
|
cmp r2, #3
|
|
bhi _021E18CE
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E18A6: ; jump table
|
|
.short _021E18AE - _021E18A6 - 2 ; case 0
|
|
.short _021E18B4 - _021E18A6 - 2 ; case 1
|
|
.short _021E18BA - _021E18A6 - 2 ; case 2
|
|
.short _021E18CA - _021E18A6 - 2 ; case 3
|
|
_021E18AE:
|
|
bl MOD16_021E0CB8
|
|
pop {r3, pc}
|
|
_021E18B4:
|
|
bl MOD16_021E0E90
|
|
pop {r3, pc}
|
|
_021E18BA:
|
|
cmp r3, #0
|
|
bne _021E18C4
|
|
bl MOD16_021E1110
|
|
pop {r3, pc}
|
|
_021E18C4:
|
|
bl MOD16_021E13E0
|
|
pop {r3, pc}
|
|
_021E18CA:
|
|
bl MOD16_021E1634
|
|
_021E18CE:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E1894
|
|
|
|
thumb_func_start MOD16_021E18D0
|
|
MOD16_021E18D0: ; 0x021E18D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021DB4A8
|
|
mov r0, #0
|
|
str r0, [r4, #0x18]
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E18D0
|
|
|
|
thumb_func_start MOD16_021E18E8
|
|
MOD16_021E18E8: ; 0x021E18E8
|
|
push {r3, lr}
|
|
ldr r2, [r0, #0x24]
|
|
ldr r3, [r0, #0x28]
|
|
bl MOD16_021E18F4
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E18E8
|
|
|
|
thumb_func_start MOD16_021E18F4
|
|
MOD16_021E18F4: ; 0x021E18F4
|
|
push {r3, lr}
|
|
cmp r2, #3
|
|
bhi _021E192E
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E1906: ; jump table
|
|
.short _021E190E - _021E1906 - 2 ; case 0
|
|
.short _021E1914 - _021E1906 - 2 ; case 1
|
|
.short _021E191A - _021E1906 - 2 ; case 2
|
|
.short _021E192A - _021E1906 - 2 ; case 3
|
|
_021E190E:
|
|
bl MOD16_021E0BB8
|
|
pop {r3, pc}
|
|
_021E1914:
|
|
bl MOD16_021E0D90
|
|
pop {r3, pc}
|
|
_021E191A:
|
|
cmp r3, #0
|
|
bne _021E1924
|
|
bl MOD16_021E0FDC
|
|
pop {r3, pc}
|
|
_021E1924:
|
|
bl MOD16_021E127C
|
|
pop {r3, pc}
|
|
_021E192A:
|
|
bl MOD16_021E1534
|
|
_021E192E:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E18F4
|
|
|
|
thumb_func_start MOD16_021E1930
|
|
MOD16_021E1930: ; 0x021E1930
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #3
|
|
bhi _021E195E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1946: ; jump table
|
|
.short _021E194E - _021E1946 - 2 ; case 0
|
|
.short _021E1952 - _021E1946 - 2 ; case 1
|
|
.short _021E1956 - _021E1946 - 2 ; case 2
|
|
.short _021E195A - _021E1946 - 2 ; case 3
|
|
_021E194E:
|
|
mov r4, #1
|
|
b _021E1962
|
|
_021E1952:
|
|
mov r4, #2
|
|
b _021E1962
|
|
_021E1956:
|
|
mov r4, #3
|
|
b _021E1962
|
|
_021E195A:
|
|
mov r4, #4
|
|
b _021E1962
|
|
_021E195E:
|
|
bl ErrorHandling
|
|
_021E1962:
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #4
|
|
add r2, r4, #0
|
|
bl MOD16_021DB4CC
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E1930
|
|
|
|
thumb_func_start MOD16_021E1970
|
|
MOD16_021E1970: ; 0x021E1970
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E18D0
|
|
ldr r2, [r5, #0x24]
|
|
ldr r3, [r5, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E18F4
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E1970
|
|
|
|
thumb_func_start MOD16_021E1988
|
|
MOD16_021E1988: ; 0x021E1988
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r5]
|
|
add r6, r2, #0
|
|
bl MOD16_021D8B48
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E19A4
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E1988
|
|
|
|
thumb_func_start MOD16_021E19A4
|
|
MOD16_021E19A4: ; 0x021E19A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r2, #4]
|
|
add r4, r1, #0
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #1
|
|
bne _021E19D2
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021E19EC
|
|
cmp r0, #0
|
|
beq _021E19C8
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r5]
|
|
bl MOD16_021D8B48
|
|
_021E19C8:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E19DC
|
|
pop {r3, r4, r5, pc}
|
|
_021E19D2:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021E19EC
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E19A4
|
|
|
|
thumb_func_start MOD16_021E19DC
|
|
MOD16_021E19DC: ; 0x021E19DC
|
|
ldr r3, _021E19E8 ; =MOD16_021D8AD4
|
|
add r2, r0, #0
|
|
ldr r0, [r1, #0x18]
|
|
ldr r1, [r2]
|
|
bx r3
|
|
nop
|
|
_021E19E8: .word MOD16_021D8AD4
|
|
thumb_func_end MOD16_021E19DC
|
|
|
|
thumb_func_start MOD16_021E19EC
|
|
MOD16_021E19EC: ; 0x021E19EC
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r5, r1, #0
|
|
bl MOD16_021D8B30
|
|
cmp r5, r0
|
|
beq _021E1A10
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r5, #0
|
|
bl MOD16_021D8B14
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E1A10:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E19EC
|
|
|
|
thumb_func_start MOD16_021E1A14
|
|
MOD16_021E1A14: ; 0x021E1A14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E1AD4 ; =0x00003EFD
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x7d
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
add r1, r5, #0
|
|
add r1, #0xe4
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
bl FUN_02009B04
|
|
add r0, r5, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021E1AD8 ; =0x00003E83
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
add r1, r5, #0
|
|
add r1, #0xe8
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl FUN_02009D68
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021E1ADC ; =0x00003EFE
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x7e
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r1, r5, #0
|
|
add r1, #0xec
|
|
str r0, [r1]
|
|
ldr r0, _021E1AE0 ; =0x00003EFC
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x7c
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r5, #0xf0
|
|
str r0, [r5]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E1AD4: .word 0x00003EFD
|
|
_021E1AD8: .word 0x00003E83
|
|
_021E1ADC: .word 0x00003EFE
|
|
_021E1AE0: .word 0x00003EFC
|
|
thumb_func_end MOD16_021E1A14
|
|
|
|
thumb_func_start MOD16_021E1AE4
|
|
MOD16_021E1AE4: ; 0x021E1AE4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
add r1, r5, #0
|
|
lsl r0, r0, #6
|
|
add r1, #0xe4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xe8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xec
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
add r5, #0xf0
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E1AE4
|
|
|
|
thumb_func_start MOD16_021E1B3C
|
|
MOD16_021E1B3C: ; 0x021E1B3C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x80
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
add r1, r5, #0
|
|
add r1, #0xf4
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
bl FUN_02009B04
|
|
add r0, r5, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021E1BC8 ; =0x00003F01
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x81
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r1, r5, #0
|
|
add r1, #0xfc
|
|
str r0, [r1]
|
|
ldr r0, _021E1BCC ; =0x00003EFF
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x7f
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
str r0, [r5, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E1BC8: .word 0x00003F01
|
|
_021E1BCC: .word 0x00003EFF
|
|
thumb_func_end MOD16_021E1B3C
|
|
|
|
thumb_func_start MOD16_021E1BD0
|
|
MOD16_021E1BD0: ; 0x021E1BD0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
add r1, r5, #0
|
|
lsl r0, r0, #6
|
|
add r1, #0xf4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xfc
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r1, #0x53
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0x4c
|
|
ldr r1, [r5, r1]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E1BD0
|
|
|
|
thumb_func_start MOD16_021E1C10
|
|
MOD16_021E1C10: ; 0x021E1C10
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021E1C90 ; =0x00003EFC
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #5
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x79
|
|
add r3, r3, #2
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x2c
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
add r0, r5, #0
|
|
str r6, [sp, #0x48]
|
|
bl MOD16_021E1D60
|
|
mov r3, #0x41
|
|
lsl r3, r3, #2
|
|
ldr r2, [r5, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
bl MOD16_021E1D24
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E1C90: .word 0x00003EFC
|
|
thumb_func_end MOD16_021E1C10
|
|
|
|
thumb_func_start MOD16_021E1C94
|
|
MOD16_021E1C94: ; 0x021E1C94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021E1E14
|
|
add r0, r4, #0
|
|
bl MOD16_021E1E2C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E1C94
|
|
|
|
thumb_func_start MOD16_021E1CA4
|
|
MOD16_021E1CA4: ; 0x021E1CA4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021E1D20 ; =0x00003EFC
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #5
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x79
|
|
add r3, r3, #2
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
add r0, r5, #0
|
|
str r6, [sp, #0x48]
|
|
bl MOD16_021E1E2C
|
|
mov r3, #0x41
|
|
lsl r3, r3, #2
|
|
ldr r2, [r5, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
bl MOD16_021E1D24
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E1D20: .word 0x00003EFC
|
|
thumb_func_end MOD16_021E1CA4
|
|
|
|
thumb_func_start MOD16_021E1D24
|
|
MOD16_021E1D24: ; 0x021E1D24
|
|
push {r3, lr}
|
|
cmp r2, #3
|
|
bhi _021E1D5E
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E1D36: ; jump table
|
|
.short _021E1D3E - _021E1D36 - 2 ; case 0
|
|
.short _021E1D44 - _021E1D36 - 2 ; case 1
|
|
.short _021E1D4A - _021E1D36 - 2 ; case 2
|
|
.short _021E1D5A - _021E1D36 - 2 ; case 3
|
|
_021E1D3E:
|
|
bl MOD16_021E1E4C
|
|
pop {r3, pc}
|
|
_021E1D44:
|
|
bl MOD16_021E1EBC
|
|
pop {r3, pc}
|
|
_021E1D4A:
|
|
cmp r3, #0
|
|
bne _021E1D54
|
|
bl MOD16_021E1F2C
|
|
pop {r3, pc}
|
|
_021E1D54:
|
|
bl MOD16_021E1FC0
|
|
pop {r3, pc}
|
|
_021E1D5A:
|
|
bl MOD16_021E207C
|
|
_021E1D5E:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E1D24
|
|
|
|
thumb_func_start MOD16_021E1D60
|
|
MOD16_021E1D60: ; 0x021E1D60
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r7, #0xe
|
|
add r6, r0, #0
|
|
add r4, r1, #0
|
|
mov r5, #0
|
|
lsl r7, r7, #0x10
|
|
_021E1D6C:
|
|
cmp r5, #5
|
|
bhi _021E1DCA
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1D7C: ; jump table
|
|
.short _021E1D88 - _021E1D7C - 2 ; case 0
|
|
.short _021E1D96 - _021E1D7C - 2 ; case 1
|
|
.short _021E1DA0 - _021E1D7C - 2 ; case 2
|
|
.short _021E1DAA - _021E1D7C - 2 ; case 3
|
|
.short _021E1DB4 - _021E1D7C - 2 ; case 4
|
|
.short _021E1DBE - _021E1D7C - 2 ; case 5
|
|
_021E1D88:
|
|
mov r0, #0xd
|
|
lsl r0, r0, #0x10
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0x35
|
|
lsl r0, r0, #0xe
|
|
str r0, [r4, #8]
|
|
b _021E1DCA
|
|
_021E1D96:
|
|
mov r0, #0xf
|
|
lsl r0, r0, #0x10
|
|
str r0, [r4, #0xc]
|
|
str r7, [r4, #8]
|
|
b _021E1DCA
|
|
_021E1DA0:
|
|
mov r0, #0x11
|
|
lsl r0, r0, #0x10
|
|
str r0, [r4, #0xc]
|
|
str r7, [r4, #8]
|
|
b _021E1DCA
|
|
_021E1DAA:
|
|
mov r0, #0x13
|
|
lsl r0, r0, #0x10
|
|
str r0, [r4, #0xc]
|
|
str r7, [r4, #8]
|
|
b _021E1DCA
|
|
_021E1DB4:
|
|
mov r0, #0x15
|
|
lsl r0, r0, #0x10
|
|
str r0, [r4, #0xc]
|
|
str r7, [r4, #8]
|
|
b _021E1DCA
|
|
_021E1DBE:
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x10
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0x35
|
|
lsl r0, r0, #0xe
|
|
str r0, [r4, #8]
|
|
_021E1DCA:
|
|
add r0, r4, #0
|
|
bl FUN_0201FF84
|
|
str r0, [r6]
|
|
cmp r5, #5
|
|
bhi _021E1E0A
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E1DE2: ; jump table
|
|
.short _021E1DEE - _021E1DE2 - 2 ; case 0
|
|
.short _021E1DF8 - _021E1DE2 - 2 ; case 1
|
|
.short _021E1DF8 - _021E1DE2 - 2 ; case 2
|
|
.short _021E1DF8 - _021E1DE2 - 2 ; case 3
|
|
.short _021E1DF8 - _021E1DE2 - 2 ; case 4
|
|
.short _021E1E02 - _021E1DE2 - 2 ; case 5
|
|
_021E1DEE:
|
|
ldr r0, [r6]
|
|
mov r1, #3
|
|
bl FUN_02020130
|
|
b _021E1E0A
|
|
_021E1DF8:
|
|
ldr r0, [r6]
|
|
mov r1, #2
|
|
bl FUN_02020130
|
|
b _021E1E0A
|
|
_021E1E02:
|
|
ldr r0, [r6]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
_021E1E0A:
|
|
add r5, r5, #1
|
|
add r6, r6, #4
|
|
cmp r5, #6
|
|
blt _021E1D6C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E1D60
|
|
|
|
thumb_func_start MOD16_021E1E14
|
|
MOD16_021E1E14: ; 0x021E1E14
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E1E1A:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _021E1E1A
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E1E14
|
|
|
|
thumb_func_start MOD16_021E1E2C
|
|
MOD16_021E1E2C: ; 0x021E1E2C
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021E1E34:
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021E1E40
|
|
bl FUN_0201FFC8
|
|
str r6, [r5, #0x30]
|
|
_021E1E40:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xf
|
|
blt _021E1E34
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E1E2C
|
|
|
|
thumb_func_start MOD16_021E1E4C
|
|
MOD16_021E1E4C: ; 0x021E1E4C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x30
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r6, #0
|
|
str r0, [sp, #4]
|
|
add r7, #8
|
|
_021E1E64:
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0x30
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
add r5, r0, r1
|
|
_021E1E7E:
|
|
str r4, [r6, #8]
|
|
ldr r0, [r7]
|
|
lsl r0, r0, #0xc
|
|
str r0, [r7]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r5, #0x30]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0xc]
|
|
add r4, #0x50
|
|
add r0, r0, #1
|
|
add r5, r5, #4
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #2
|
|
blt _021E1E7E
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #3
|
|
blt _021E1E64
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E1E4C
|
|
|
|
thumb_func_start MOD16_021E1EBC
|
|
MOD16_021E1EBC: ; 0x021E1EBC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r6, #0
|
|
str r0, [sp, #4]
|
|
add r7, #8
|
|
_021E1ED4:
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0x30
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
add r5, r0, r1
|
|
_021E1EEE:
|
|
str r4, [r6, #8]
|
|
ldr r0, [r7]
|
|
lsl r0, r0, #0xc
|
|
str r0, [r7]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r5, #0x30]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0xc]
|
|
add r4, #0x50
|
|
add r0, r0, #1
|
|
add r5, r5, #4
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #2
|
|
blt _021E1EEE
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #5
|
|
blt _021E1ED4
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E1EBC
|
|
|
|
thumb_func_start MOD16_021E1F2C
|
|
MOD16_021E1F2C: ; 0x021E1F2C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r6, #0
|
|
str r0, [sp, #4]
|
|
add r7, #8
|
|
_021E1F44:
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0x30
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
add r5, r0, r1
|
|
_021E1F5E:
|
|
str r4, [r6, #8]
|
|
ldr r0, [r7]
|
|
lsl r0, r0, #0xc
|
|
str r0, [r7]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r5, #0x30]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0xc]
|
|
add r4, #0x50
|
|
add r0, r0, #1
|
|
add r5, r5, #4
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #2
|
|
blt _021E1F5E
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #5
|
|
blt _021E1F44
|
|
mov r0, #0xb0
|
|
mov r2, #0x18
|
|
str r0, [r6, #0xc]
|
|
lsl r0, r2, #0xc
|
|
str r0, [r6, #8]
|
|
ldr r0, [r6, #0xc]
|
|
lsl r1, r0, #0xc
|
|
lsl r0, r2, #0xf
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x58]
|
|
mov r1, #5
|
|
bl FUN_02020130
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E1F2C
|
|
|
|
thumb_func_start MOD16_021E1FC0
|
|
MOD16_021E1FC0: ; 0x021E1FC0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r6, #0
|
|
str r0, [sp, #4]
|
|
add r7, #8
|
|
_021E1FD8:
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0x30
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
add r5, r0, r1
|
|
_021E1FF2:
|
|
str r4, [r6, #8]
|
|
ldr r0, [r7]
|
|
lsl r0, r0, #0xc
|
|
str r0, [r7]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r5, #0x30]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0xc]
|
|
add r4, #0x50
|
|
add r0, r0, #1
|
|
add r5, r5, #4
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #2
|
|
blt _021E1FF2
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #4
|
|
blt _021E1FD8
|
|
mov r0, #0x90
|
|
str r0, [r6, #0xc]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0xc
|
|
str r0, [r6, #8]
|
|
ldr r0, [r6, #0xc]
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x50]
|
|
mov r1, #0
|
|
bl FUN_02020130
|
|
mov r0, #0xb0
|
|
mov r2, #0x18
|
|
str r0, [r6, #0xc]
|
|
lsl r0, r2, #0xc
|
|
str r0, [r6, #8]
|
|
ldr r0, [r6, #0xc]
|
|
lsl r1, r0, #0xc
|
|
lsl r0, r2, #0xf
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x54]
|
|
mov r1, #4
|
|
bl FUN_02020130
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E1FC0
|
|
|
|
thumb_func_start MOD16_021E207C
|
|
MOD16_021E207C: ; 0x021E207C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r6, #0
|
|
str r0, [sp, #4]
|
|
add r7, #8
|
|
_021E2094:
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0x1c
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [r6, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
add r5, r0, r1
|
|
_021E20AE:
|
|
str r4, [r6, #8]
|
|
ldr r0, [r7]
|
|
lsl r0, r0, #0xc
|
|
str r0, [r7]
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
mov r1, #6
|
|
str r0, [r5, #0x30]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0xc]
|
|
add r4, #0x38
|
|
add r0, r0, #1
|
|
add r5, r5, #4
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #3
|
|
blt _021E20AE
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #5
|
|
blt _021E2094
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E207C
|
|
|
|
thumb_func_start MOD16_021E20EC
|
|
MOD16_021E20EC: ; 0x021E20EC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x7c
|
|
ldr r4, [r1]
|
|
ldr r3, _021E22A4 ; =0x00003EFF
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #5
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
add r5, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x58
|
|
sub r2, #0x7c
|
|
add r3, r3, #2
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x58
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #2
|
|
str r0, [sp, #0x50]
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x10
|
|
ldr r7, [sp, #0x34]
|
|
str r5, [sp, #0x54]
|
|
str r0, [sp, #0x30]
|
|
_021E2156:
|
|
ldr r0, [sp, #0x30]
|
|
mov r6, #0
|
|
str r0, [sp, #0x44]
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0x2c]
|
|
lsl r1, r7, #2
|
|
mov r5, #0x1c
|
|
add r4, r0, r1
|
|
_021E216E:
|
|
str r5, [sp, #0x40]
|
|
lsl r0, r5, #0xc
|
|
str r0, [sp, #0x40]
|
|
add r0, sp, #0x38
|
|
bl FUN_0201FF84
|
|
add r1, r4, #0
|
|
add r1, #0xa8
|
|
str r0, [r1]
|
|
add r0, r6, r7
|
|
cmp r0, #0xe
|
|
bhi _021E2280
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E2192: ; jump table
|
|
.short _021E21B0 - _021E2192 - 2 ; case 0
|
|
.short _021E21BE - _021E2192 - 2 ; case 1
|
|
.short _021E21CC - _021E2192 - 2 ; case 2
|
|
.short _021E21DA - _021E2192 - 2 ; case 3
|
|
.short _021E21E8 - _021E2192 - 2 ; case 4
|
|
.short _021E21F6 - _021E2192 - 2 ; case 5
|
|
.short _021E2204 - _021E2192 - 2 ; case 6
|
|
.short _021E2212 - _021E2192 - 2 ; case 7
|
|
.short _021E2220 - _021E2192 - 2 ; case 8
|
|
.short _021E222E - _021E2192 - 2 ; case 9
|
|
.short _021E223C - _021E2192 - 2 ; case 10
|
|
.short _021E224A - _021E2192 - 2 ; case 11
|
|
.short _021E2258 - _021E2192 - 2 ; case 12
|
|
.short _021E2266 - _021E2192 - 2 ; case 13
|
|
.short _021E2274 - _021E2192 - 2 ; case 14
|
|
_021E21B0:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E21BE:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #5
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E21CC:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #0xa
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E21DA:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E21E8:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #6
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E21F6:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #0xb
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E2204:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E2212:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #9
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E2220:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #0xc
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E222E:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E223C:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #8
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E224A:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #0xd
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E2258:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #4
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E2266:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #7
|
|
bl FUN_02020130
|
|
b _021E2280
|
|
_021E2274:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021E2280:
|
|
add r6, r6, #1
|
|
add r5, #0x38
|
|
add r4, r4, #4
|
|
cmp r6, #3
|
|
bge _021E228C
|
|
b _021E216E
|
|
_021E228C:
|
|
ldr r0, [sp, #0x30]
|
|
add r7, r7, #3
|
|
add r0, #0x20
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x34]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x34]
|
|
cmp r0, #5
|
|
bge _021E22A0
|
|
b _021E2156
|
|
_021E22A0:
|
|
add sp, #0x7c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E22A4: .word 0x00003EFF
|
|
thumb_func_end MOD16_021E20EC
|
|
|
|
thumb_func_start MOD16_021E22A8
|
|
MOD16_021E22A8: ; 0x021E22A8
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021E22B0:
|
|
add r0, r5, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E22C4
|
|
bl FUN_0201FFC8
|
|
add r0, r5, #0
|
|
add r0, #0xa8
|
|
str r6, [r0]
|
|
_021E22C4:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xf
|
|
blt _021E22B0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E22A8
|
|
|
|
thumb_func_start MOD16_021E22D0
|
|
MOD16_021E22D0: ; 0x021E22D0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x2c
|
|
add r5, r0, #0
|
|
ldr r4, [r1]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021E2330 ; =0x00003E83
|
|
add r6, r2, #0
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #4]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
mov r2, #0x15
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #2
|
|
str r0, [sp, #0x24]
|
|
str r6, [sp, #0x28]
|
|
lsl r2, r2, #4
|
|
ldr r2, [r4, r2]
|
|
add r0, r5, #0
|
|
add r1, sp, #4
|
|
bl MOD16_021E23D0
|
|
mov r3, #0x42
|
|
lsl r3, r3, #2
|
|
ldr r0, [r5, r3]
|
|
add r2, r3, #0
|
|
str r0, [sp]
|
|
add r2, #0x48
|
|
sub r3, r3, #4
|
|
ldr r2, [r4, r2]
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, #0
|
|
add r1, sp, #4
|
|
bl MOD16_021E23A0
|
|
add sp, #0x2c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021E2330: .word 0x00003E83
|
|
thumb_func_end MOD16_021E22D0
|
|
|
|
thumb_func_start MOD16_021E2334
|
|
MOD16_021E2334: ; 0x021E2334
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021E2554
|
|
add r0, r4, #0
|
|
bl MOD16_021E2570
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E2334
|
|
|
|
thumb_func_start MOD16_021E2344
|
|
MOD16_021E2344: ; 0x021E2344
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x2c
|
|
add r5, r0, #0
|
|
ldr r4, [r1]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021E239C ; =0x00003E83
|
|
add r6, r2, #0
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #4]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #2
|
|
str r0, [sp, #0x24]
|
|
add r0, r5, #0
|
|
str r6, [sp, #0x28]
|
|
bl MOD16_021E2570
|
|
mov r3, #0x42
|
|
lsl r3, r3, #2
|
|
ldr r0, [r5, r3]
|
|
add r2, r3, #0
|
|
str r0, [sp]
|
|
add r2, #0x48
|
|
sub r3, r3, #4
|
|
ldr r2, [r4, r2]
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, #0
|
|
add r1, sp, #4
|
|
bl MOD16_021E23A0
|
|
add sp, #0x2c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021E239C: .word 0x00003E83
|
|
thumb_func_end MOD16_021E2344
|
|
|
|
thumb_func_start MOD16_021E23A0
|
|
MOD16_021E23A0: ; 0x021E23A0
|
|
push {r3, lr}
|
|
cmp r3, #0
|
|
beq _021E23B0
|
|
cmp r3, #1
|
|
beq _021E23B6
|
|
cmp r3, #2
|
|
beq _021E23BC
|
|
pop {r3, pc}
|
|
_021E23B0:
|
|
bl MOD16_021E2590
|
|
pop {r3, pc}
|
|
_021E23B6:
|
|
bl MOD16_021E2634
|
|
pop {r3, pc}
|
|
_021E23BC:
|
|
ldr r3, [sp, #8]
|
|
cmp r3, #0
|
|
bne _021E23C8
|
|
bl MOD16_021E26F0
|
|
pop {r3, pc}
|
|
_021E23C8:
|
|
bl MOD16_021E27AC
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E23A0
|
|
|
|
thumb_func_start MOD16_021E23D0
|
|
MOD16_021E23D0: ; 0x021E23D0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #8]
|
|
add r6, r2, #0
|
|
mov r1, #2
|
|
bl FUN_0201E28C
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, _021E2550 ; =0x00000266
|
|
add r0, r6, #0
|
|
mov r3, #0x32
|
|
bl MOD16_021DB3C8
|
|
ldr r1, [sp, #8]
|
|
neg r0, r0
|
|
str r1, [r4, #4]
|
|
ldr r1, [r5, #4]
|
|
lsr r0, r0, #1
|
|
str r1, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
mov r0, #5
|
|
mvn r0, r0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x1c]
|
|
ldr r0, [r0]
|
|
add r1, r7, #3
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #8]
|
|
bl MOD16_021DB3BC
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, _021E2550 ; =0x00000266
|
|
add r0, r6, #0
|
|
mov r3, #0x2f
|
|
bl MOD16_021DB3C8
|
|
ldr r1, [sp, #0xc]
|
|
neg r0, r0
|
|
str r1, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
lsr r0, r0, #1
|
|
str r1, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
mov r0, #5
|
|
mvn r0, r0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x20]
|
|
ldr r0, [r0]
|
|
add r1, r7, #3
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #0xc]
|
|
bl MOD16_021DB3BC
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, _021E2550 ; =0x00000266
|
|
add r0, r6, #0
|
|
mov r3, #0x30
|
|
bl MOD16_021DB3C8
|
|
ldr r1, [sp, #0x10]
|
|
neg r0, r0
|
|
str r1, [r4, #4]
|
|
ldr r1, [r5, #0xc]
|
|
lsr r0, r0, #1
|
|
str r1, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
mov r0, #5
|
|
mvn r0, r0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x24]
|
|
ldr r0, [r0]
|
|
add r1, r7, #3
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #0x10]
|
|
bl MOD16_021DB3BC
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, _021E2550 ; =0x00000266
|
|
add r0, r6, #0
|
|
mov r3, #0x31
|
|
bl MOD16_021DB3C8
|
|
ldr r1, [sp, #0x14]
|
|
neg r0, r0
|
|
str r1, [r4, #4]
|
|
ldr r1, [r5, #0x10]
|
|
lsr r0, r0, #1
|
|
str r1, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
mov r0, #5
|
|
mvn r0, r0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x28]
|
|
ldr r0, [r0]
|
|
add r1, r7, #3
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD16_021DB3BC
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, _021E2550 ; =0x00000266
|
|
add r0, r6, #0
|
|
mov r3, #0x33
|
|
bl MOD16_021DB3C8
|
|
ldr r1, [sp, #0x18]
|
|
neg r0, r0
|
|
str r1, [r4, #4]
|
|
ldr r1, [r5, #0x14]
|
|
lsr r0, r0, #1
|
|
str r1, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
mov r0, #5
|
|
mvn r0, r0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, [r0]
|
|
add r1, r7, #1
|
|
bl FUN_02011A60
|
|
ldr r0, [sp, #0x18]
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E2550: .word 0x00000266
|
|
thumb_func_end MOD16_021E23D0
|
|
|
|
thumb_func_start MOD16_021E2554
|
|
MOD16_021E2554: ; 0x021E2554
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E255A:
|
|
ldr r0, [r5, #0x18]
|
|
cmp r0, #0
|
|
beq _021E2564
|
|
bl MOD16_021DB338
|
|
_021E2564:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _021E255A
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2554
|
|
|
|
thumb_func_start MOD16_021E2570
|
|
MOD16_021E2570: ; 0x021E2570
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021E2578:
|
|
ldr r0, [r5, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E2584
|
|
bl MOD16_021DB338
|
|
str r6, [r5, #0x6c]
|
|
_021E2584:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xf
|
|
blt _021E2578
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2570
|
|
|
|
thumb_func_start MOD16_021E2590
|
|
MOD16_021E2590: ; 0x021E2590
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp, #8]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #2
|
|
str r2, [sp, #0xc]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xb
|
|
mov r5, #0
|
|
str r0, [sp, #0x10]
|
|
_021E25AC:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r7, r0, #0
|
|
cmp r5, #5
|
|
bhi _021E25EA
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E25C8: ; jump table
|
|
.short _021E25D4 - _021E25C8 - 2 ; case 0
|
|
.short _021E25D8 - _021E25C8 - 2 ; case 1
|
|
.short _021E25DC - _021E25C8 - 2 ; case 2
|
|
.short _021E25E0 - _021E25C8 - 2 ; case 3
|
|
.short _021E25E4 - _021E25C8 - 2 ; case 4
|
|
.short _021E25E8 - _021E25C8 - 2 ; case 5
|
|
_021E25D4:
|
|
mov r4, #0x51
|
|
b _021E25EA
|
|
_021E25D8:
|
|
mov r4, #0x52
|
|
b _021E25EA
|
|
_021E25DC:
|
|
mov r4, #0x53
|
|
b _021E25EA
|
|
_021E25E0:
|
|
mov r4, #0x54
|
|
b _021E25EA
|
|
_021E25E4:
|
|
mov r4, #0x55
|
|
b _021E25EA
|
|
_021E25E8:
|
|
mov r4, #0x56
|
|
_021E25EA:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E2630 ; =0x00000266
|
|
add r1, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021DB3C8
|
|
neg r0, r0
|
|
lsr r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
str r1, [r0, #0x10]
|
|
str r7, [r0, #4]
|
|
ldr r1, [r6, #0x30]
|
|
str r1, [r0, #0xc]
|
|
mov r1, #5
|
|
mvn r1, r1
|
|
str r1, [r0, #0x14]
|
|
bl MOD16_021DB2BC
|
|
str r0, [r6, #0x6c]
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02011A60
|
|
add r0, r7, #0
|
|
bl MOD16_021DB3BC
|
|
add r5, r5, #1
|
|
add r6, r6, #4
|
|
cmp r5, #6
|
|
blt _021E25AC
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E2630: .word 0x00000266
|
|
thumb_func_end MOD16_021E2590
|
|
|
|
thumb_func_start MOD16_021E2634
|
|
MOD16_021E2634: ; 0x021E2634
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp, #8]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #2
|
|
str r2, [sp, #0xc]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xb
|
|
mov r5, #0
|
|
str r0, [sp, #0x10]
|
|
_021E2650:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r7, r0, #0
|
|
cmp r5, #9
|
|
bhi _021E26A6
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E266C: ; jump table
|
|
.short _021E2680 - _021E266C - 2 ; case 0
|
|
.short _021E2684 - _021E266C - 2 ; case 1
|
|
.short _021E2688 - _021E266C - 2 ; case 2
|
|
.short _021E268C - _021E266C - 2 ; case 3
|
|
.short _021E2690 - _021E266C - 2 ; case 4
|
|
.short _021E2694 - _021E266C - 2 ; case 5
|
|
.short _021E2698 - _021E266C - 2 ; case 6
|
|
.short _021E269C - _021E266C - 2 ; case 7
|
|
.short _021E26A0 - _021E266C - 2 ; case 8
|
|
.short _021E26A4 - _021E266C - 2 ; case 9
|
|
_021E2680:
|
|
mov r4, #0x36
|
|
b _021E26A6
|
|
_021E2684:
|
|
mov r4, #0x37
|
|
b _021E26A6
|
|
_021E2688:
|
|
mov r4, #0x38
|
|
b _021E26A6
|
|
_021E268C:
|
|
mov r4, #0x39
|
|
b _021E26A6
|
|
_021E2690:
|
|
mov r4, #0x3a
|
|
b _021E26A6
|
|
_021E2694:
|
|
mov r4, #0x3b
|
|
b _021E26A6
|
|
_021E2698:
|
|
mov r4, #0x3c
|
|
b _021E26A6
|
|
_021E269C:
|
|
mov r4, #0x3d
|
|
b _021E26A6
|
|
_021E26A0:
|
|
mov r4, #0x3e
|
|
b _021E26A6
|
|
_021E26A4:
|
|
mov r4, #0x73
|
|
_021E26A6:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E26EC ; =0x00000266
|
|
add r1, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021DB3C8
|
|
neg r0, r0
|
|
lsr r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
str r1, [r0, #0x10]
|
|
str r7, [r0, #4]
|
|
ldr r1, [r6, #0x30]
|
|
str r1, [r0, #0xc]
|
|
mov r1, #5
|
|
mvn r1, r1
|
|
str r1, [r0, #0x14]
|
|
bl MOD16_021DB2BC
|
|
str r0, [r6, #0x6c]
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02011A60
|
|
add r0, r7, #0
|
|
bl MOD16_021DB3BC
|
|
add r5, r5, #1
|
|
add r6, r6, #4
|
|
cmp r5, #0xa
|
|
blt _021E2650
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E26EC: .word 0x00000266
|
|
thumb_func_end MOD16_021E2634
|
|
|
|
thumb_func_start MOD16_021E26F0
|
|
MOD16_021E26F0: ; 0x021E26F0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp, #8]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #2
|
|
str r2, [sp, #0xc]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xb
|
|
mov r5, #0
|
|
str r0, [sp, #0x10]
|
|
_021E270C:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r7, r0, #0
|
|
cmp r5, #9
|
|
bhi _021E2762
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E2728: ; jump table
|
|
.short _021E273C - _021E2728 - 2 ; case 0
|
|
.short _021E2740 - _021E2728 - 2 ; case 1
|
|
.short _021E2744 - _021E2728 - 2 ; case 2
|
|
.short _021E2748 - _021E2728 - 2 ; case 3
|
|
.short _021E274C - _021E2728 - 2 ; case 4
|
|
.short _021E2750 - _021E2728 - 2 ; case 5
|
|
.short _021E2754 - _021E2728 - 2 ; case 6
|
|
.short _021E2758 - _021E2728 - 2 ; case 7
|
|
.short _021E275C - _021E2728 - 2 ; case 8
|
|
.short _021E2760 - _021E2728 - 2 ; case 9
|
|
_021E273C:
|
|
mov r4, #0x40
|
|
b _021E2762
|
|
_021E2740:
|
|
mov r4, #0x46
|
|
b _021E2762
|
|
_021E2744:
|
|
mov r4, #0x49
|
|
b _021E2762
|
|
_021E2748:
|
|
mov r4, #0x47
|
|
b _021E2762
|
|
_021E274C:
|
|
mov r4, #0x48
|
|
b _021E2762
|
|
_021E2750:
|
|
mov r4, #0x4c
|
|
b _021E2762
|
|
_021E2754:
|
|
mov r4, #0x4b
|
|
b _021E2762
|
|
_021E2758:
|
|
mov r4, #0x4d
|
|
b _021E2762
|
|
_021E275C:
|
|
mov r4, #0x50
|
|
b _021E2762
|
|
_021E2760:
|
|
mov r4, #0x74
|
|
_021E2762:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E27A8 ; =0x00000266
|
|
add r1, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021DB3C8
|
|
neg r0, r0
|
|
lsr r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
str r1, [r0, #0x10]
|
|
str r7, [r0, #4]
|
|
ldr r1, [r6, #0x30]
|
|
str r1, [r0, #0xc]
|
|
mov r1, #5
|
|
mvn r1, r1
|
|
str r1, [r0, #0x14]
|
|
bl MOD16_021DB2BC
|
|
str r0, [r6, #0x6c]
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02011A60
|
|
add r0, r7, #0
|
|
bl MOD16_021DB3BC
|
|
add r5, r5, #1
|
|
add r6, r6, #4
|
|
cmp r5, #0xa
|
|
blt _021E270C
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E27A8: .word 0x00000266
|
|
thumb_func_end MOD16_021E26F0
|
|
|
|
thumb_func_start MOD16_021E27AC
|
|
MOD16_021E27AC: ; 0x021E27AC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp, #8]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #2
|
|
str r2, [sp, #0xc]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xb
|
|
mov r5, #0
|
|
str r0, [sp, #0x10]
|
|
_021E27C8:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r7, r0, #0
|
|
cmp r5, #8
|
|
bhi _021E2818
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E27E4: ; jump table
|
|
.short _021E27F6 - _021E27E4 - 2 ; case 0
|
|
.short _021E27FA - _021E27E4 - 2 ; case 1
|
|
.short _021E27FE - _021E27E4 - 2 ; case 2
|
|
.short _021E2802 - _021E27E4 - 2 ; case 3
|
|
.short _021E2806 - _021E27E4 - 2 ; case 4
|
|
.short _021E280A - _021E27E4 - 2 ; case 5
|
|
.short _021E280E - _021E27E4 - 2 ; case 6
|
|
.short _021E2812 - _021E27E4 - 2 ; case 7
|
|
.short _021E2816 - _021E27E4 - 2 ; case 8
|
|
_021E27F6:
|
|
mov r4, #0x41
|
|
b _021E2818
|
|
_021E27FA:
|
|
mov r4, #0x42
|
|
b _021E2818
|
|
_021E27FE:
|
|
mov r4, #0x44
|
|
b _021E2818
|
|
_021E2802:
|
|
mov r4, #0x43
|
|
b _021E2818
|
|
_021E2806:
|
|
mov r4, #0x4a
|
|
b _021E2818
|
|
_021E280A:
|
|
mov r4, #0x45
|
|
b _021E2818
|
|
_021E280E:
|
|
mov r4, #0x4e
|
|
b _021E2818
|
|
_021E2812:
|
|
mov r4, #0x4f
|
|
b _021E2818
|
|
_021E2816:
|
|
mov r4, #0x74
|
|
_021E2818:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _021E2860 ; =0x00000266
|
|
add r1, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021DB3C8
|
|
neg r0, r0
|
|
lsr r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
str r1, [r0, #0x10]
|
|
str r7, [r0, #4]
|
|
ldr r1, [r6, #0x30]
|
|
str r1, [r0, #0xc]
|
|
mov r1, #5
|
|
mvn r1, r1
|
|
str r1, [r0, #0x14]
|
|
bl MOD16_021DB2BC
|
|
str r0, [r6, #0x6c]
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02011A60
|
|
add r0, r7, #0
|
|
bl MOD16_021DB3BC
|
|
add r5, r5, #1
|
|
add r6, r6, #4
|
|
cmp r5, #9
|
|
blt _021E27C8
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E2860: .word 0x00000266
|
|
thumb_func_end MOD16_021E27AC
|
|
|
|
thumb_func_start MOD16_021E2864
|
|
MOD16_021E2864: ; 0x021E2864
|
|
ldr r1, _021E286C ; =0x0000FFFF
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021E286C: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E2864
|
|
|
|
thumb_func_start MOD16_021E2870
|
|
MOD16_021E2870: ; 0x021E2870
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E28C4
|
|
ldr r2, [r5, #0x24]
|
|
ldr r3, [r5, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E2888
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E2870
|
|
|
|
thumb_func_start MOD16_021E2888
|
|
MOD16_021E2888: ; 0x021E2888
|
|
push {r3, lr}
|
|
cmp r2, #3
|
|
bhi _021E28C2
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E289A: ; jump table
|
|
.short _021E28A2 - _021E289A - 2 ; case 0
|
|
.short _021E28A8 - _021E289A - 2 ; case 1
|
|
.short _021E28AE - _021E289A - 2 ; case 2
|
|
.short _021E28BE - _021E289A - 2 ; case 3
|
|
_021E28A2:
|
|
bl MOD16_021E2994
|
|
pop {r3, pc}
|
|
_021E28A8:
|
|
bl MOD16_021E2A00
|
|
pop {r3, pc}
|
|
_021E28AE:
|
|
cmp r3, #0
|
|
bne _021E28B8
|
|
bl MOD16_021E2A84
|
|
pop {r3, pc}
|
|
_021E28B8:
|
|
bl MOD16_021E2B08
|
|
pop {r3, pc}
|
|
_021E28BE:
|
|
bl MOD16_021E2C28
|
|
_021E28C2:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E2888
|
|
|
|
thumb_func_start MOD16_021E28C4
|
|
MOD16_021E28C4: ; 0x021E28C4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
add r4, r1, #0
|
|
cmp r0, #5
|
|
bhi _021E2982
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E28DE: ; jump table
|
|
.short _021E28EA - _021E28DE - 2 ; case 0
|
|
.short _021E28FA - _021E28DE - 2 ; case 1
|
|
.short _021E2914 - _021E28DE - 2 ; case 2
|
|
.short _021E292E - _021E28DE - 2 ; case 3
|
|
.short _021E2950 - _021E28DE - 2 ; case 4
|
|
.short _021E296A - _021E28DE - 2 ; case 5
|
|
_021E28EA:
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl MOD16_021DEC40
|
|
ldr r0, _021E298C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
b _021E2982
|
|
_021E28FA:
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEBB8
|
|
cmp r0, #0
|
|
beq _021E2982
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl MOD16_021DEBA4
|
|
ldr r0, _021E298C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
b _021E2982
|
|
_021E2914:
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEBB8
|
|
cmp r0, #1
|
|
beq _021E2982
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl MOD16_021DEBA4
|
|
ldr r0, _021E298C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
b _021E2982
|
|
_021E292E:
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEBB8
|
|
cmp r0, #2
|
|
beq _021E2982
|
|
ldr r0, [r4, #8]
|
|
mov r1, #2
|
|
bl MOD16_021DEBA4
|
|
ldr r0, _021E298C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
b _021E2982
|
|
_021E2950:
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEBB8
|
|
cmp r0, #3
|
|
beq _021E2982
|
|
ldr r0, [r4, #8]
|
|
mov r1, #3
|
|
bl MOD16_021DEBA4
|
|
ldr r0, _021E298C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
b _021E2982
|
|
_021E296A:
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bgt _021E2982
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl MOD16_021DEC40
|
|
ldr r0, _021E298C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E2982:
|
|
ldr r0, _021E2990 ; =0x0000FFFF
|
|
add r5, #0x80
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E298C: .word 0x000005DD
|
|
_021E2990: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E28C4
|
|
|
|
thumb_func_start MOD16_021E2994
|
|
MOD16_021E2994: ; 0x021E2994
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
mov r4, #0x64
|
|
cmp r0, #5
|
|
bhi _021E29D2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E29B0: ; jump table
|
|
.short _021E29BC - _021E29B0 - 2 ; case 0
|
|
.short _021E29C0 - _021E29B0 - 2 ; case 1
|
|
.short _021E29C4 - _021E29B0 - 2 ; case 2
|
|
.short _021E29C8 - _021E29B0 - 2 ; case 3
|
|
.short _021E29CC - _021E29B0 - 2 ; case 4
|
|
.short _021E29D0 - _021E29B0 - 2 ; case 5
|
|
_021E29BC:
|
|
mov r4, #0
|
|
b _021E29D2
|
|
_021E29C0:
|
|
mov r4, #1
|
|
b _021E29D2
|
|
_021E29C4:
|
|
mov r4, #2
|
|
b _021E29D2
|
|
_021E29C8:
|
|
mov r4, #3
|
|
b _021E29D2
|
|
_021E29CC:
|
|
mov r4, #4
|
|
b _021E29D2
|
|
_021E29D0:
|
|
mov r4, #5
|
|
_021E29D2:
|
|
cmp r4, #0x64
|
|
beq _021E29EE
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021DEBD4
|
|
cmp r4, r0
|
|
beq _021E29EE
|
|
ldr r0, _021E29F8 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
ldr r0, [r6, #8]
|
|
add r1, r4, #0
|
|
bl MOD16_021DEBC0
|
|
_021E29EE:
|
|
ldr r0, _021E29FC ; =0x0000FFFF
|
|
add r5, #0x84
|
|
str r0, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E29F8: .word 0x000005DD
|
|
_021E29FC: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E2994
|
|
|
|
thumb_func_start MOD16_021E2A00
|
|
MOD16_021E2A00: ; 0x021E2A00
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
mov r4, #0x64
|
|
cmp r0, #9
|
|
bhi _021E2A56
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E2A1C: ; jump table
|
|
.short _021E2A30 - _021E2A1C - 2 ; case 0
|
|
.short _021E2A34 - _021E2A1C - 2 ; case 1
|
|
.short _021E2A38 - _021E2A1C - 2 ; case 2
|
|
.short _021E2A3C - _021E2A1C - 2 ; case 3
|
|
.short _021E2A40 - _021E2A1C - 2 ; case 4
|
|
.short _021E2A44 - _021E2A1C - 2 ; case 5
|
|
.short _021E2A48 - _021E2A1C - 2 ; case 6
|
|
.short _021E2A4C - _021E2A1C - 2 ; case 7
|
|
.short _021E2A50 - _021E2A1C - 2 ; case 8
|
|
.short _021E2A54 - _021E2A1C - 2 ; case 9
|
|
_021E2A30:
|
|
mov r4, #1
|
|
b _021E2A56
|
|
_021E2A34:
|
|
mov r4, #2
|
|
b _021E2A56
|
|
_021E2A38:
|
|
mov r4, #3
|
|
b _021E2A56
|
|
_021E2A3C:
|
|
mov r4, #4
|
|
b _021E2A56
|
|
_021E2A40:
|
|
mov r4, #5
|
|
b _021E2A56
|
|
_021E2A44:
|
|
mov r4, #6
|
|
b _021E2A56
|
|
_021E2A48:
|
|
mov r4, #7
|
|
b _021E2A56
|
|
_021E2A4C:
|
|
mov r4, #8
|
|
b _021E2A56
|
|
_021E2A50:
|
|
mov r4, #9
|
|
b _021E2A56
|
|
_021E2A54:
|
|
mov r4, #0
|
|
_021E2A56:
|
|
cmp r4, #0x64
|
|
beq _021E2A72
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021DEBF0
|
|
cmp r4, r0
|
|
beq _021E2A72
|
|
ldr r0, _021E2A7C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
ldr r0, [r6, #8]
|
|
add r1, r4, #0
|
|
bl MOD16_021DEBDC
|
|
_021E2A72:
|
|
ldr r0, _021E2A80 ; =0x0000FFFF
|
|
add r5, #0x84
|
|
str r0, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E2A7C: .word 0x000005DD
|
|
_021E2A80: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E2A00
|
|
|
|
thumb_func_start MOD16_021E2A84
|
|
MOD16_021E2A84: ; 0x021E2A84
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
mov r4, #0x64
|
|
cmp r0, #0xa
|
|
bhi _021E2AE8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E2AA0: ; jump table
|
|
.short _021E2AB6 - _021E2AA0 - 2 ; case 0
|
|
.short _021E2ABA - _021E2AA0 - 2 ; case 1
|
|
.short _021E2ABE - _021E2AA0 - 2 ; case 2
|
|
.short _021E2AC2 - _021E2AA0 - 2 ; case 3
|
|
.short _021E2AC6 - _021E2AA0 - 2 ; case 4
|
|
.short _021E2ACA - _021E2AA0 - 2 ; case 5
|
|
.short _021E2ACE - _021E2AA0 - 2 ; case 6
|
|
.short _021E2AD2 - _021E2AA0 - 2 ; case 7
|
|
.short _021E2AD6 - _021E2AA0 - 2 ; case 8
|
|
.short _021E2ADA - _021E2AA0 - 2 ; case 9
|
|
.short _021E2ADE - _021E2AA0 - 2 ; case 10
|
|
_021E2AB6:
|
|
mov r4, #1
|
|
b _021E2AE8
|
|
_021E2ABA:
|
|
mov r4, #2
|
|
b _021E2AE8
|
|
_021E2ABE:
|
|
mov r4, #3
|
|
b _021E2AE8
|
|
_021E2AC2:
|
|
mov r4, #4
|
|
b _021E2AE8
|
|
_021E2AC6:
|
|
mov r4, #5
|
|
b _021E2AE8
|
|
_021E2ACA:
|
|
mov r4, #6
|
|
b _021E2AE8
|
|
_021E2ACE:
|
|
mov r4, #7
|
|
b _021E2AE8
|
|
_021E2AD2:
|
|
mov r4, #8
|
|
b _021E2AE8
|
|
_021E2AD6:
|
|
mov r4, #9
|
|
b _021E2AE8
|
|
_021E2ADA:
|
|
mov r4, #0
|
|
b _021E2AE8
|
|
_021E2ADE:
|
|
mov r0, #1
|
|
str r0, [r5, #0x20]
|
|
ldr r0, _021E2B00 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E2AE8:
|
|
cmp r4, #0x64
|
|
beq _021E2AF6
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E2B84
|
|
_021E2AF6:
|
|
ldr r0, _021E2B04 ; =0x0000FFFF
|
|
add r5, #0x84
|
|
str r0, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E2B00: .word 0x000005DD
|
|
_021E2B04: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E2A84
|
|
|
|
thumb_func_start MOD16_021E2B08
|
|
MOD16_021E2B08: ; 0x021E2B08
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
mov r4, #0x64
|
|
cmp r0, #9
|
|
bhi _021E2B66
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E2B24: ; jump table
|
|
.short _021E2B38 - _021E2B24 - 2 ; case 0
|
|
.short _021E2B3C - _021E2B24 - 2 ; case 1
|
|
.short _021E2B40 - _021E2B24 - 2 ; case 2
|
|
.short _021E2B44 - _021E2B24 - 2 ; case 3
|
|
.short _021E2B48 - _021E2B24 - 2 ; case 4
|
|
.short _021E2B4C - _021E2B24 - 2 ; case 5
|
|
.short _021E2B50 - _021E2B24 - 2 ; case 6
|
|
.short _021E2B54 - _021E2B24 - 2 ; case 7
|
|
.short _021E2B58 - _021E2B24 - 2 ; case 8
|
|
.short _021E2B5C - _021E2B24 - 2 ; case 9
|
|
_021E2B38:
|
|
mov r4, #0xa
|
|
b _021E2B66
|
|
_021E2B3C:
|
|
mov r4, #0xb
|
|
b _021E2B66
|
|
_021E2B40:
|
|
mov r4, #0xc
|
|
b _021E2B66
|
|
_021E2B44:
|
|
mov r4, #0xd
|
|
b _021E2B66
|
|
_021E2B48:
|
|
mov r4, #0xe
|
|
b _021E2B66
|
|
_021E2B4C:
|
|
mov r4, #0xf
|
|
b _021E2B66
|
|
_021E2B50:
|
|
mov r4, #0x10
|
|
b _021E2B66
|
|
_021E2B54:
|
|
mov r4, #0x11
|
|
b _021E2B66
|
|
_021E2B58:
|
|
mov r4, #0
|
|
b _021E2B66
|
|
_021E2B5C:
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
ldr r0, _021E2B7C ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E2B66:
|
|
cmp r4, #0x64
|
|
beq _021E2B74
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E2B84
|
|
_021E2B74:
|
|
ldr r0, _021E2B80 ; =0x0000FFFF
|
|
add r5, #0x84
|
|
str r0, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E2B7C: .word 0x000005DD
|
|
_021E2B80: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E2B08
|
|
|
|
thumb_func_start MOD16_021E2B84
|
|
MOD16_021E2B84: ; 0x021E2B84
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
ldr r0, [r4, #8]
|
|
beq _021E2BE4
|
|
mov r1, #0
|
|
bl MOD16_021DEC14
|
|
cmp r6, r0
|
|
beq _021E2C20
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl MOD16_021DEC14
|
|
cmp r6, r0
|
|
beq _021E2C20
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r1]
|
|
bl MOD16_021DEC14
|
|
cmp r6, r0
|
|
beq _021E2C20
|
|
add r2, r5, #0
|
|
add r2, #0x88
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r2]
|
|
add r1, r6, #0
|
|
bl MOD16_021DEBF8
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
add r5, #0x88
|
|
add r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
str r0, [r5]
|
|
ldr r0, _021E2C24 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E2BE4:
|
|
mov r1, #0
|
|
bl MOD16_021DEC14
|
|
cmp r0, #0
|
|
ldr r0, [r4, #8]
|
|
beq _021E2C00
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
bl MOD16_021DEBF8
|
|
ldr r0, _021E2C24 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
b _021E2C1A
|
|
_021E2C00:
|
|
mov r1, #1
|
|
bl MOD16_021DEC14
|
|
cmp r0, #0
|
|
beq _021E2C1A
|
|
ldr r0, [r4, #8]
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl MOD16_021DEBF8
|
|
ldr r0, _021E2C24 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E2C1A:
|
|
mov r0, #0
|
|
add r5, #0x88
|
|
str r0, [r5]
|
|
_021E2C20:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E2C24: .word 0x000005DD
|
|
thumb_func_end MOD16_021E2B84
|
|
|
|
thumb_func_start MOD16_021E2C28
|
|
MOD16_021E2C28: ; 0x021E2C28
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
mov r4, #0x64
|
|
cmp r0, #0xe
|
|
bhi _021E2C9C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E2C44: ; jump table
|
|
.short _021E2C62 - _021E2C44 - 2 ; case 0
|
|
.short _021E2C66 - _021E2C44 - 2 ; case 1
|
|
.short _021E2C6A - _021E2C44 - 2 ; case 2
|
|
.short _021E2C6E - _021E2C44 - 2 ; case 3
|
|
.short _021E2C72 - _021E2C44 - 2 ; case 4
|
|
.short _021E2C76 - _021E2C44 - 2 ; case 5
|
|
.short _021E2C7A - _021E2C44 - 2 ; case 6
|
|
.short _021E2C7E - _021E2C44 - 2 ; case 7
|
|
.short _021E2C82 - _021E2C44 - 2 ; case 8
|
|
.short _021E2C86 - _021E2C44 - 2 ; case 9
|
|
.short _021E2C8A - _021E2C44 - 2 ; case 10
|
|
.short _021E2C8E - _021E2C44 - 2 ; case 11
|
|
.short _021E2C92 - _021E2C44 - 2 ; case 12
|
|
.short _021E2C96 - _021E2C44 - 2 ; case 13
|
|
.short _021E2C9A - _021E2C44 - 2 ; case 14
|
|
_021E2C62:
|
|
mov r4, #0xd
|
|
b _021E2C9C
|
|
_021E2C66:
|
|
mov r4, #4
|
|
b _021E2C9C
|
|
_021E2C6A:
|
|
mov r4, #0xc
|
|
b _021E2C9C
|
|
_021E2C6E:
|
|
mov r4, #9
|
|
b _021E2C9C
|
|
_021E2C72:
|
|
mov r4, #8
|
|
b _021E2C9C
|
|
_021E2C76:
|
|
mov r4, #3
|
|
b _021E2C9C
|
|
_021E2C7A:
|
|
mov r4, #0xa
|
|
b _021E2C9C
|
|
_021E2C7E:
|
|
mov r4, #1
|
|
b _021E2C9C
|
|
_021E2C82:
|
|
mov r4, #6
|
|
b _021E2C9C
|
|
_021E2C86:
|
|
mov r4, #0xb
|
|
b _021E2C9C
|
|
_021E2C8A:
|
|
mov r4, #0xe
|
|
b _021E2C9C
|
|
_021E2C8E:
|
|
mov r4, #2
|
|
b _021E2C9C
|
|
_021E2C92:
|
|
mov r4, #5
|
|
b _021E2C9C
|
|
_021E2C96:
|
|
mov r4, #7
|
|
b _021E2C9C
|
|
_021E2C9A:
|
|
mov r4, #0
|
|
_021E2C9C:
|
|
cmp r4, #0x64
|
|
beq _021E2CB8
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021DEC38
|
|
cmp r4, r0
|
|
beq _021E2CB8
|
|
ldr r0, _021E2CC0 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
ldr r0, [r6, #8]
|
|
add r1, r4, #0
|
|
bl MOD16_021DEC24
|
|
_021E2CB8:
|
|
ldr r0, _021E2CC4 ; =0x0000FFFF
|
|
add r5, #0x84
|
|
str r0, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E2CC0: .word 0x000005DD
|
|
_021E2CC4: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E2C28
|
|
|
|
thumb_func_start MOD16_021E2CC8
|
|
MOD16_021E2CC8: ; 0x021E2CC8
|
|
push {r3, r4, r5, lr}
|
|
mov r3, #0x4b
|
|
lsl r3, r3, #2
|
|
ldr r2, [r0, r3]
|
|
cmp r2, #0
|
|
bne _021E2CF4
|
|
ldr r2, [r1, #4]
|
|
cmp r2, #0
|
|
ble _021E2CF8
|
|
str r2, [r0, r3]
|
|
mov r5, #0
|
|
add r2, r3, #4
|
|
str r5, [r0, r2]
|
|
add r2, r3, #0
|
|
ldr r4, [r1, #8]
|
|
add r2, #8
|
|
add r3, #8
|
|
str r4, [r0, r2]
|
|
ldr r0, [r0, r3]
|
|
str r5, [r0]
|
|
str r5, [r1, #4]
|
|
pop {r3, r4, r5, pc}
|
|
_021E2CF4:
|
|
bl MOD16_021E2CFC
|
|
_021E2CF8:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2CC8
|
|
|
|
thumb_func_start MOD16_021E2CFC
|
|
MOD16_021E2CFC: ; 0x021E2CFC
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
mov r3, #0x4b
|
|
add r4, r0, #0
|
|
lsl r3, r3, #2
|
|
ldr r1, [r4, r3]
|
|
cmp r1, #0
|
|
beq _021E2DAE
|
|
add r0, r3, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E2D1C
|
|
cmp r0, #1
|
|
beq _021E2D6E
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
_021E2D1C:
|
|
cmp r1, #1
|
|
bne _021E2D36
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
sub r3, #0x20
|
|
str r0, [sp, #4]
|
|
add r0, r4, r3
|
|
mov r2, #0x10
|
|
add r3, r1, #0
|
|
bl MOD16_021D8BD8
|
|
b _021E2D4A
|
|
_021E2D36:
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #2
|
|
sub r3, #0x20
|
|
str r0, [sp, #4]
|
|
add r0, r4, r3
|
|
mov r1, #0x10
|
|
add r3, r2, #0
|
|
bl MOD16_021D8BD8
|
|
_021E2D4A:
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
ldr r3, [r4, r0]
|
|
mov r0, #0x10
|
|
sub r0, r0, r3
|
|
str r0, [sp]
|
|
ldr r0, _021E2DB4 ; =0x04001050
|
|
mov r1, #0
|
|
mov r2, #4
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
add sp, #8
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E2D6E:
|
|
sub r3, #0x20
|
|
add r0, r4, r3
|
|
bl MOD16_021D8BF4
|
|
mov r1, #0x43
|
|
lsl r1, r1, #2
|
|
ldr r3, [r4, r1]
|
|
mov r2, #0x10
|
|
sub r2, r2, r3
|
|
lsl r2, r2, #8
|
|
orr r3, r2
|
|
ldr r2, _021E2DB8 ; =0x04001052
|
|
cmp r0, #1
|
|
strh r3, [r2]
|
|
bne _021E2DAE
|
|
add r1, #0x20
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #1
|
|
bne _021E2D9A
|
|
mov r1, #0
|
|
sub r0, r2, #2
|
|
strh r1, [r0]
|
|
_021E2D9A:
|
|
mov r1, #0x4d
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
mov r2, #1
|
|
str r2, [r0]
|
|
sub r0, r1, #4
|
|
mov r2, #0
|
|
str r2, [r4, r0]
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
_021E2DAE:
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_021E2DB4: .word 0x04001050
|
|
_021E2DB8: .word 0x04001052
|
|
thumb_func_end MOD16_021E2CFC
|
|
|
|
thumb_func_start MOD16_021E2DBC
|
|
MOD16_021E2DBC: ; 0x021E2DBC
|
|
push {r3, lr}
|
|
cmp r2, #2
|
|
bne _021E2DD2
|
|
cmp r3, #0
|
|
bne _021E2DCC
|
|
bl MOD16_021E2E14
|
|
pop {r3, pc}
|
|
_021E2DCC:
|
|
bl MOD16_021E2E44
|
|
pop {r3, pc}
|
|
_021E2DD2:
|
|
bl MOD16_021E2DD8
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E2DBC
|
|
|
|
thumb_func_start MOD16_021E2DD8
|
|
MOD16_021E2DD8: ; 0x021E2DD8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r6, #0
|
|
_021E2DE0:
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021E2DEC
|
|
add r1, r4, #0
|
|
bl FUN_02020398
|
|
_021E2DEC:
|
|
ldr r0, [r5, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E2DFA
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
bl FUN_02011AF0
|
|
_021E2DFA:
|
|
add r0, r5, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E2E0A
|
|
add r1, r4, #0
|
|
bl FUN_02020398
|
|
_021E2E0A:
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #0xf
|
|
blt _021E2DE0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E2DD8
|
|
|
|
thumb_func_start MOD16_021E2E14
|
|
MOD16_021E2E14: ; 0x021E2E14
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
_021E2E1C:
|
|
cmp r4, #0xa
|
|
beq _021E2E3A
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021E2E2C
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
_021E2E2C:
|
|
ldr r0, [r5, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E2E3A
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
bl FUN_02011AF0
|
|
_021E2E3A:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xf
|
|
blt _021E2E1C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E2E14
|
|
|
|
thumb_func_start MOD16_021E2E44
|
|
MOD16_021E2E44: ; 0x021E2E44
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
_021E2E4C:
|
|
cmp r4, #9
|
|
beq _021E2E6A
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021E2E5C
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
_021E2E5C:
|
|
ldr r0, [r5, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E2E6A
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
bl FUN_02011AF0
|
|
_021E2E6A:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xf
|
|
blt _021E2E4C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E2E44
|
|
|
|
thumb_func_start MOD16_021E2E74
|
|
MOD16_021E2E74: ; 0x021E2E74
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r2, #0
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEC5C
|
|
cmp r0, #4
|
|
bne _021E2EC0
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEC54
|
|
cmp r0, #3
|
|
bne _021E2EA4
|
|
mov r1, #0
|
|
mov r0, #2
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
sub r2, #0x10
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
_021E2EA4:
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021DEC54
|
|
cmp r0, #1
|
|
bne _021E2EC0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
add r1, r0, #0
|
|
sub r1, #0x14
|
|
mov r2, #0
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
_021E2EC0:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021E2E74
|
|
|
|
thumb_func_start MOD16_021E2EC4
|
|
MOD16_021E2EC4: ; 0x021E2EC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021E2F64
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E2FA8
|
|
str r4, [r5]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E2FFC
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E2F04 ; =MOD16_021E3000
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E2F08 ; =MOD16_021E3074
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E2F0C ; =MOD16_021E30B0
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E2F10 ; =MOD16_021E30E0
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E2F14 ; =MOD16_021E31E0
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E2F18 ; =MOD16_021E320C
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E2F04: .word MOD16_021E3000
|
|
_021E2F08: .word MOD16_021E3074
|
|
_021E2F0C: .word MOD16_021E30B0
|
|
_021E2F10: .word MOD16_021E30E0
|
|
_021E2F14: .word MOD16_021E31E0
|
|
_021E2F18: .word MOD16_021E320C
|
|
thumb_func_end MOD16_021E2EC4
|
|
|
|
thumb_func_start MOD16_021E2F1C
|
|
MOD16_021E2F1C: ; 0x021E2F1C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E2FD4
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E2FE8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2F1C
|
|
|
|
thumb_func_start MOD16_021E2F30
|
|
MOD16_021E2F30: ; 0x021E2F30
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2F30
|
|
|
|
thumb_func_start MOD16_021E2F38
|
|
MOD16_021E2F38: ; 0x021E2F38
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r4, [r0]
|
|
cmp r5, #3
|
|
blt _021E2F46
|
|
bl ErrorHandling
|
|
_021E2F46:
|
|
str r5, [r4, #4]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2F38
|
|
|
|
thumb_func_start MOD16_021E2F4C
|
|
MOD16_021E2F4C: ; 0x021E2F4C
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #4]
|
|
str r2, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MOD16_021E2F4C
|
|
|
|
thumb_func_start MOD16_021E2F54
|
|
MOD16_021E2F54: ; 0x021E2F54
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2F54
|
|
|
|
thumb_func_start MOD16_021E2F5C
|
|
MOD16_021E2F5C: ; 0x021E2F5C
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2F5C
|
|
|
|
thumb_func_start MOD16_021E2F64
|
|
MOD16_021E2F64: ; 0x021E2F64
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E2F76
|
|
bl ErrorHandling
|
|
_021E2F76:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2F64
|
|
|
|
thumb_func_start MOD16_021E2FA8
|
|
MOD16_021E2FA8: ; 0x021E2FA8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x14
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E2FBA
|
|
bl ErrorHandling
|
|
_021E2FBA:
|
|
add r2, r4, #0
|
|
mov r1, #0x14
|
|
mov r0, #0
|
|
_021E2FC0:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021E2FC0
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E2FA8
|
|
|
|
thumb_func_start MOD16_021E2FD4
|
|
MOD16_021E2FD4: ; 0x021E2FD4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E2FDE
|
|
bl ErrorHandling
|
|
_021E2FDE:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2FD4
|
|
|
|
thumb_func_start MOD16_021E2FE8
|
|
MOD16_021E2FE8: ; 0x021E2FE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E2FF2
|
|
bl ErrorHandling
|
|
_021E2FF2:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E2FE8
|
|
|
|
thumb_func_start MOD16_021E2FFC
|
|
MOD16_021E2FFC: ; 0x021E2FFC
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E2FFC
|
|
|
|
thumb_func_start MOD16_021E3000
|
|
MOD16_021E3000: ; 0x021E3000
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #4]
|
|
add r5, r1, #0
|
|
mov r1, #0x34
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E3016
|
|
bl ErrorHandling
|
|
_021E3016:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x34
|
|
bl memset
|
|
str r4, [r6, #8]
|
|
ldr r1, [r5]
|
|
ldr r0, _021E3070 ; =0x00001744
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021E3032
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
b _021E3042
|
|
_021E3032:
|
|
sub r0, r0, #1
|
|
cmp r0, #1
|
|
bhi _021E303E
|
|
mov r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E3042
|
|
_021E303E:
|
|
mov r0, #2
|
|
str r0, [r5, #4]
|
|
_021E3042:
|
|
add r2, r4, #0
|
|
ldr r0, [r6, #4]
|
|
add r1, r5, #0
|
|
add r2, #0xc
|
|
bl MOD16_021E3E08
|
|
str r0, [r4, #4]
|
|
add r2, r4, #0
|
|
ldr r0, [r6, #4]
|
|
add r1, r5, #0
|
|
add r2, #0x10
|
|
bl MOD16_021E3E10
|
|
str r0, [r4, #8]
|
|
ldr r2, [r6, #4]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E3FC4
|
|
ldr r0, [r5, #4]
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E3070: .word 0x00001744
|
|
thumb_func_end MOD16_021E3000
|
|
|
|
thumb_func_start MOD16_021E3074
|
|
MOD16_021E3074: ; 0x021E3074
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r6, r1, #0
|
|
ldr r4, [r5, #8]
|
|
cmp r0, #1
|
|
bne _021E3086
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E3086:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #1
|
|
bne _021E3090
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021E3090:
|
|
ldr r1, [r4]
|
|
ldr r0, [r6, #4]
|
|
cmp r1, r0
|
|
beq _021E30AC
|
|
add r0, r4, #0
|
|
bl MOD16_021E4070
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E3FC4
|
|
ldr r0, [r6, #4]
|
|
str r0, [r4]
|
|
_021E30AC:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E3074
|
|
|
|
thumb_func_start MOD16_021E30B0
|
|
MOD16_021E30B0: ; 0x021E30B0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r5, [r4, #8]
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021E30C0
|
|
bl FreeToHeap
|
|
_021E30C0:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _021E30CA
|
|
bl FreeToHeap
|
|
_021E30CA:
|
|
add r0, r5, #0
|
|
bl MOD16_021E4070
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E30B0
|
|
|
|
thumb_func_start MOD16_021E30E0
|
|
MOD16_021E30E0: ; 0x021E30E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r3, #8]
|
|
add r4, r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021E31CE
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E3102: ; jump table
|
|
.short _021E310A - _021E3102 - 2 ; case 0
|
|
.short _021E3142 - _021E3102 - 2 ; case 1
|
|
.short _021E319A - _021E3102 - 2 ; case 2
|
|
.short _021E31C2 - _021E3102 - 2 ; case 3
|
|
_021E310A:
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _021E31D4 ; =0x00000844
|
|
bl AllocFromHeap
|
|
ldr r2, _021E31D4 ; =0x00000844
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
bl memset
|
|
ldr r5, [r4, #8]
|
|
ldr r0, [r7, #4]
|
|
mov r1, #0
|
|
str r0, [r5]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DBDE4
|
|
ldr r1, _021E31D8 ; =0x00000804
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl MOD16_021DBE0C
|
|
ldr r1, _021E31DC ; =0x00000808
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E31CE
|
|
_021E3142:
|
|
ldr r0, [r4, #4]
|
|
ldr r3, [sp, #4]
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E32D8
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [r4, #4]
|
|
add r1, r7, #0
|
|
bl MOD16_021E3C18
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sp, #4]
|
|
bl MOD16_021E3EF0
|
|
add r0, r6, #0
|
|
bl MOD16_021E4094
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E3E6C
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _021E3186
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E3998
|
|
b _021E3192
|
|
_021E3186:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E3A5C
|
|
_021E3192:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E31CE
|
|
_021E319A:
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _021E31AC
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021E3A10
|
|
b _021E31B6
|
|
_021E31AC:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021E3AEC
|
|
_021E31B6:
|
|
cmp r0, #0
|
|
beq _021E31CE
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E31CE
|
|
_021E31C2:
|
|
add r0, r6, #0
|
|
bl MOD16_021E40D4
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E31CE:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E31D4: .word 0x00000844
|
|
_021E31D8: .word 0x00000804
|
|
_021E31DC: .word 0x00000808
|
|
thumb_func_end MOD16_021E30E0
|
|
|
|
thumb_func_start MOD16_021E31E0
|
|
MOD16_021E31E0: ; 0x021E31E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #8]
|
|
add r7, r2, #0
|
|
ldr r4, [r3, #8]
|
|
str r0, [sp, #4]
|
|
bl MOD16_021E411C
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021E3F88
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E31E0
|
|
|
|
thumb_func_start MOD16_021E320C
|
|
MOD16_021E320C: ; 0x021E320C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021E32CC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E3228: ; jump table
|
|
.short _021E3232 - _021E3228 - 2 ; case 0
|
|
.short _021E3260 - _021E3228 - 2 ; case 1
|
|
.short _021E3288 - _021E3228 - 2 ; case 2
|
|
.short _021E329E - _021E3228 - 2 ; case 3
|
|
.short _021E32C8 - _021E3228 - 2 ; case 4
|
|
_021E3232:
|
|
add r0, r5, #0
|
|
bl MOD16_021E4094
|
|
ldr r0, [r6, #0xc]
|
|
cmp r0, #0
|
|
bne _021E324C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021E3998
|
|
b _021E3258
|
|
_021E324C:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021E3A5C
|
|
_021E3258:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E32CC
|
|
_021E3260:
|
|
ldr r0, [r6, #0xc]
|
|
cmp r0, #0
|
|
bne _021E3272
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl MOD16_021E3A10
|
|
b _021E327C
|
|
_021E3272:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl MOD16_021E3AEC
|
|
_021E327C:
|
|
cmp r0, #0
|
|
beq _021E32CC
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E32CC
|
|
_021E3288:
|
|
add r0, r5, #0
|
|
bl MOD16_021E3DBC
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E3328
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E32CC
|
|
_021E329E:
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
ldr r0, _021E32D0 ; =0x00000804
|
|
ldr r0, [r5, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _021E32D4 ; =0x00000808
|
|
ldr r0, [r5, r0]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E32CC
|
|
_021E32C8:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E32CC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E32D0: .word 0x00000804
|
|
_021E32D4: .word 0x00000808
|
|
thumb_func_end MOD16_021E320C
|
|
|
|
thumb_func_start MOD16_021E32D8
|
|
MOD16_021E32D8: ; 0x021E32D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r6, [sp, #0x18]
|
|
add r7, r2, #0
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E3348
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E3B70
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E34D0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E36B0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E37E8
|
|
ldr r1, [r7, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021E3F50
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E41FC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E32D8
|
|
|
|
thumb_func_start MOD16_021E3328
|
|
MOD16_021E3328: ; 0x021E3328
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E3BC8
|
|
add r0, r5, #0
|
|
bl MOD16_021E3904
|
|
add r0, r5, #0
|
|
bl MOD16_021E37C0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E361C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E3328
|
|
|
|
thumb_func_start MOD16_021E3348
|
|
MOD16_021E3348: ; 0x021E3348
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r4, r2, #0
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x40
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r7, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
ldr r1, [r6]
|
|
ldr r0, _021E34C0 ; =0x00001764
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021E33E6
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x41
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r7, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0xd
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
_021E33E6:
|
|
ldr r1, [r6]
|
|
ldr r0, _021E34C4 ; =0x0000176C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021E342A
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x42
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r7, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0x1c
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
_021E342A:
|
|
ldr r1, [r6]
|
|
ldr r0, _021E34C8 ; =0x00001760
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021E346E
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x43
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r7, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0xb
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
_021E346E:
|
|
ldr r1, [r6]
|
|
ldr r0, _021E34CC ; =0x00001768
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021E34B2
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x44
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r4, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0x19
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
_021E34B2:
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E34C0: .word 0x00001764
|
|
_021E34C4: .word 0x0000176C
|
|
_021E34C8: .word 0x00001760
|
|
_021E34CC: .word 0x00001768
|
|
thumb_func_end MOD16_021E3348
|
|
|
|
thumb_func_start MOD16_021E34D0
|
|
MOD16_021E34D0: ; 0x021E34D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E3600 ; =0x000017DC
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x6c
|
|
bl FUN_020091E0
|
|
add r1, r5, #0
|
|
add r1, #0xb4
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FUN_02009B04
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021E3604 ; =0x000017DA
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x6a
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
ldr r0, _021E3608 ; =0x000017DB
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x6b
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r1, r5, #0
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
ldr r0, _021E360C ; =0x000017CD
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x5d
|
|
bl FUN_020091E0
|
|
add r1, r5, #0
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FUN_02009B04
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021E3610 ; =0x0000177E
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xe
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
add r1, r5, #0
|
|
add r1, #0xd4
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
bl FUN_02009D68
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021E3614 ; =0x000017CB
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5b
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r1, r5, #0
|
|
add r1, #0xd8
|
|
str r0, [r1]
|
|
ldr r0, _021E3618 ; =0x000017CC
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5c
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
add r5, #0xdc
|
|
str r0, [r5]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E3600: .word 0x000017DC
|
|
_021E3604: .word 0x000017DA
|
|
_021E3608: .word 0x000017DB
|
|
_021E360C: .word 0x000017CD
|
|
_021E3610: .word 0x0000177E
|
|
_021E3614: .word 0x000017CB
|
|
_021E3618: .word 0x000017CC
|
|
thumb_func_end MOD16_021E34D0
|
|
|
|
thumb_func_start MOD16_021E361C
|
|
MOD16_021E361C: ; 0x021E361C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
add r1, r5, #0
|
|
lsl r0, r0, #6
|
|
add r1, #0xb4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xbc
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xc0
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FUN_02009C0C
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
add r1, r5, #0
|
|
lsl r0, r0, #6
|
|
add r1, #0xd0
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xd4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xd8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
add r5, #0xdc
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E361C
|
|
|
|
thumb_func_start MOD16_021E36B0
|
|
MOD16_021E36B0: ; 0x021E36B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021E37B8 ; =0x000017CC
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x4e
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x34]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
str r6, [sp, #0x48]
|
|
bl FUN_0201FF84
|
|
add r1, r5, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
bl FUN_02020130
|
|
ldr r3, _021E37BC ; =0x000017DB
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #5
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x5d
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r4, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
str r6, [sp, #0x48]
|
|
str r4, [sp, #0x34]
|
|
str r4, [sp, #0x38]
|
|
add r6, sp, #0x2c
|
|
add r7, r4, #0
|
|
_021E3796:
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x2c
|
|
blt _021E3796
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E37B8: .word 0x000017CC
|
|
_021E37BC: .word 0x000017DB
|
|
thumb_func_end MOD16_021E36B0
|
|
|
|
thumb_func_start MOD16_021E37C0
|
|
MOD16_021E37C0: ; 0x021E37C0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
bl FUN_0201FFC8
|
|
add r0, r5, #0
|
|
mov r4, #0
|
|
add r0, #0xc8
|
|
str r4, [r0]
|
|
add r6, r4, #0
|
|
_021E37D6:
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0201FFC8
|
|
str r6, [r5, #4]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x2c
|
|
blt _021E37D6
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E37C0
|
|
|
|
thumb_func_start MOD16_021E37E8
|
|
MOD16_021E37E8: ; 0x021E37E8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
add r0, #0xc8
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
add r6, r3, #0
|
|
ldr r7, [r4]
|
|
cmp r0, #0
|
|
bne _021E3800
|
|
bl ErrorHandling
|
|
_021E3800:
|
|
mov r0, #0x51
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
ldr r1, _021E38FC ; =0x0000177E
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r7, r1]
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
mov r1, #1
|
|
mov r2, #0x1e
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
str r6, [sp, #0x30]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #8]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0x10
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
ldr r2, _021E3900 ; =0x00000266
|
|
add r1, r4, #0
|
|
mov r3, #0x23
|
|
bl MOD16_021DB3C8
|
|
add r1, r5, #0
|
|
lsr r0, r0, #1
|
|
str r4, [sp, #0x10]
|
|
add r1, #0xc8
|
|
ldr r1, [r1]
|
|
neg r0, r0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #7
|
|
mvn r0, r0
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0xc
|
|
str r1, [sp, #0x18]
|
|
bl MOD16_021DB2BC
|
|
add r1, r5, #0
|
|
add r1, #0xcc
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r0]
|
|
add r1, r1, #2
|
|
bl FUN_02011A60
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
mov r6, #0
|
|
_021E3890:
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
mov r1, #9
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r3, r6, #0
|
|
ldr r0, [r7, r0]
|
|
ldr r2, _021E3900 ; =0x00000266
|
|
add r1, r4, #0
|
|
add r3, #0x24
|
|
bl MOD16_021DB3C8
|
|
mov r1, #0
|
|
str r1, [sp, #0x18]
|
|
mov r1, #0x48
|
|
sub r0, r1, r0
|
|
lsr r0, r0, #1
|
|
add r0, #8
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0xc
|
|
str r4, [sp, #0x10]
|
|
bl MOD16_021DB2BC
|
|
add r1, r5, #0
|
|
add r1, #0xe0
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r0]
|
|
add r1, r1, #2
|
|
bl FUN_02011A60
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #3
|
|
blt _021E3890
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E38FC: .word 0x0000177E
|
|
_021E3900: .word 0x00000266
|
|
thumb_func_end MOD16_021E37E8
|
|
|
|
thumb_func_start MOD16_021E3904
|
|
MOD16_021E3904: ; 0x021E3904
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
bl MOD16_021DB338
|
|
mov r4, #0
|
|
_021E3912:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
bl MOD16_021DB338
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021E3912
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E3904
|
|
|
|
thumb_func_start MOD16_021E3928
|
|
MOD16_021E3928: ; 0x021E3928
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E3948:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021E3948
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E3928
|
|
|
|
thumb_func_start MOD16_021E3960
|
|
MOD16_021E3960: ; 0x021E3960
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021E3980:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021E3980
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E3960
|
|
|
|
thumb_func_start MOD16_021E3998
|
|
MOD16_021E3998: ; 0x021E3998
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E3928
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E39FE
|
|
cmp r6, #0
|
|
beq _021E39DA
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
b _021E39FE
|
|
_021E39DA:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E39FE:
|
|
mov r1, #0x5b
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
bl MOD16_021D8A8C
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E3998
|
|
|
|
thumb_func_start MOD16_021E3A10
|
|
MOD16_021E3A10: ; 0x021E3A10
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021E3A30
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021E3A3A
|
|
_021E3A30:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021E3A3A:
|
|
cmp r0, #0
|
|
beq _021E3A4C
|
|
cmp r4, #0
|
|
beq _021E3A48
|
|
add r0, r6, #0
|
|
bl MOD16_021E3960
|
|
_021E3A48:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E3A4C:
|
|
mov r1, #0x5b
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
bl MOD16_021D8A8C
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E3A10
|
|
|
|
thumb_func_start MOD16_021E3A5C
|
|
MOD16_021E3A5C: ; 0x021E3A5C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E3928
|
|
cmp r4, #0
|
|
bne _021E3A86
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x28
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r3, #0x78
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E3AE8 ; =0x00000814
|
|
ldr r2, [r5, #4]
|
|
add r0, r6, r0
|
|
bl MOD16_021D8BD8
|
|
_021E3A86:
|
|
ldr r0, [r7, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E3AE4
|
|
cmp r4, #0
|
|
beq _021E3ABE
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r2, #0x2f
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r1, [r5, #0x10]
|
|
sub r2, #0x3f
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E3ABE:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r3, #0x2f
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r1, [r5, #0x10]
|
|
sub r3, #0x3f
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021D8988
|
|
_021E3AE4:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E3AE8: .word 0x00000814
|
|
thumb_func_end MOD16_021E3A5C
|
|
|
|
thumb_func_start MOD16_021E3AEC
|
|
MOD16_021E3AEC: ; 0x021E3AEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bne _021E3B14
|
|
ldr r0, _021E3B6C ; =0x00000814
|
|
add r0, r5, r0
|
|
bl MOD16_021D8BF4
|
|
str r0, [sp]
|
|
ldr r2, _021E3B6C ; =0x00000814
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, r2]
|
|
add r2, r2, #4
|
|
ldr r2, [r5, r2]
|
|
bl MOD16_021D86F4
|
|
b _021E3B18
|
|
_021E3B14:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021E3B18:
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r4]
|
|
beq _021E3B32
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #4]
|
|
b _021E3B3E
|
|
_021E3B32:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
str r0, [sp, #4]
|
|
_021E3B3E:
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021E3B42:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021E3B50
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021E3B42
|
|
_021E3B50:
|
|
cmp r1, #2
|
|
bne _021E3B64
|
|
cmp r7, #1
|
|
bne _021E3B5E
|
|
add r0, r5, #0
|
|
bl MOD16_021E3960
|
|
_021E3B5E:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E3B64:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E3B6C: .word 0x00000814
|
|
thumb_func_end MOD16_021E3AEC
|
|
|
|
thumb_func_start MOD16_021E3B70
|
|
MOD16_021E3B70: ; 0x021E3B70
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r6, r2, #0
|
|
add r0, r0, #4
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
str r6, [sp]
|
|
ldr r3, _021E3BBC ; =0x000007F8
|
|
ldr r0, [r4]
|
|
mov r1, #0x1e
|
|
mov r2, #1
|
|
add r3, r5, r3
|
|
bl MOD16_021D8D98
|
|
ldr r1, _021E3BC0 ; =0x000007F4
|
|
mov r2, #1
|
|
str r0, [r5, r1]
|
|
str r6, [sp]
|
|
lsl r3, r2, #0xb
|
|
ldr r0, [r4]
|
|
mov r1, #0x1f
|
|
add r3, r5, r3
|
|
bl MOD16_021D8D98
|
|
ldr r1, _021E3BC4 ; =0x000007FC
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
mov r1, #8
|
|
add r0, r0, #4
|
|
bl FUN_0201AB24
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021E3BBC: .word 0x000007F8
|
|
_021E3BC0: .word 0x000007F4
|
|
_021E3BC4: .word 0x000007FC
|
|
thumb_func_end MOD16_021E3B70
|
|
|
|
thumb_func_start MOD16_021E3BC8
|
|
MOD16_021E3BC8: ; 0x021E3BC8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
ldr r0, _021E3C10 ; =0x000007F4
|
|
ldr r0, [r5, r0]
|
|
bl FreeToHeap
|
|
ldr r1, _021E3C10 ; =0x000007F4
|
|
mov r2, #0
|
|
str r2, [r5, r1]
|
|
add r0, r1, #4
|
|
add r1, #8
|
|
str r2, [r5, r0]
|
|
ldr r0, [r5, r1]
|
|
bl FreeToHeap
|
|
ldr r0, _021E3C14 ; =0x000007FC
|
|
mov r1, #0
|
|
str r1, [r5, r0]
|
|
add r0, r0, #4
|
|
str r1, [r5, r0]
|
|
ldr r0, [r4]
|
|
add r0, r0, #4
|
|
bl FUN_0201AB24
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E3C10: .word 0x000007F4
|
|
_021E3C14: .word 0x000007FC
|
|
thumb_func_end MOD16_021E3BC8
|
|
|
|
thumb_func_start MOD16_021E3C18
|
|
MOD16_021E3C18: ; 0x021E3C18
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x3c
|
|
add r4, r2, #0
|
|
add r6, r0, #0
|
|
str r1, [sp, #0x28]
|
|
str r3, [sp, #0x2c]
|
|
bl MOD16_021E3DBC
|
|
add r0, r4, #0
|
|
add r0, #0x1c
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x1e
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r3, _021E3DAC ; =0x00000808
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
ldr r3, [r6, r3]
|
|
add r0, #0xec
|
|
add r2, r1, #0
|
|
bl MOD16_021DBEC4
|
|
ldr r1, _021E3DB0 ; =0x00000838
|
|
str r0, [r6, r1]
|
|
ldr r0, [r4, #0x20]
|
|
sub r1, r0, #1
|
|
ldr r0, [r4, #0xc]
|
|
add r7, r1, r0
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, r7, #0
|
|
bl AllocFromHeapAtEnd
|
|
add r5, r0, #0
|
|
mov r1, #0
|
|
cmp r7, #0
|
|
ble _021E3C7E
|
|
_021E3C62:
|
|
ldr r2, [r4, #0xc]
|
|
cmp r1, r2
|
|
bhs _021E3C6E
|
|
ldr r0, [r4, #4]
|
|
ldrb r0, [r0, r1]
|
|
b _021E3C76
|
|
_021E3C6E:
|
|
sub r2, r1, r2
|
|
ldr r0, [r4, #0x1c]
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0, r2]
|
|
_021E3C76:
|
|
strb r0, [r5, r1]
|
|
add r1, r1, #1
|
|
cmp r1, r7
|
|
blt _021E3C62
|
|
_021E3C7E:
|
|
add r0, r4, #0
|
|
add r0, #0x2c
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
mov r0, #0x47
|
|
lsl r0, r0, #4
|
|
mov r1, #0x1e
|
|
ldr r3, _021E3DAC ; =0x00000808
|
|
str r7, [sp, #8]
|
|
ldr r3, [r6, r3]
|
|
add r0, r6, r0
|
|
add r2, r1, #0
|
|
bl MOD16_021DBEC4
|
|
mov r1, #0x21
|
|
lsl r1, r1, #6
|
|
str r0, [r6, r1]
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add r0, r6, #0
|
|
mov r1, #0x1e
|
|
add r0, #0xec
|
|
add r2, r1, #0
|
|
bl MOD16_021DB7C0
|
|
mov r0, #0x47
|
|
lsl r0, r0, #4
|
|
mov r1, #0x1e
|
|
add r0, r6, r0
|
|
add r2, r1, #0
|
|
bl MOD16_021DB7C0
|
|
ldr r0, [sp, #0x28]
|
|
ldr r0, [r0]
|
|
bl MOD16_021D9DE8
|
|
ldr r1, _021E3DB4 ; =0x0000015D
|
|
cmp r0, r1
|
|
bne _021E3CDE
|
|
mov r1, #5
|
|
str r1, [sp, #0x38]
|
|
mov r1, #0x5c
|
|
str r1, [sp, #0x34]
|
|
mov r1, #0xe
|
|
mov r0, #4
|
|
str r1, [sp, #0x30]
|
|
b _021E3CEC
|
|
_021E3CDE:
|
|
mov r1, #1
|
|
str r1, [sp, #0x38]
|
|
mov r1, #0x5c
|
|
str r1, [sp, #0x34]
|
|
mov r1, #0x20
|
|
mov r0, #0
|
|
str r1, [sp, #0x30]
|
|
_021E3CEC:
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
add r1, #0xc4
|
|
str r2, [r1]
|
|
ldr r1, [sp, #0x30]
|
|
ldr r3, [sp, #0x34]
|
|
str r1, [sp]
|
|
mov r1, #5
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r1, _021E3DB8 ; =0x00000804
|
|
ldr r2, [r6, r1]
|
|
add r1, #0x30
|
|
str r2, [sp, #0xc]
|
|
add r2, r4, #0
|
|
add r2, #0x14
|
|
str r2, [sp, #0x10]
|
|
mov r2, #2
|
|
str r2, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #0x2c
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r4, #0x10]
|
|
str r0, [sp, #0x20]
|
|
add r0, r6, r1
|
|
add r1, r6, #0
|
|
str r0, [sp, #0x24]
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r6, #4
|
|
bl MOD16_021DBF9C
|
|
add r1, r6, #0
|
|
add r1, #0xc4
|
|
str r0, [r1]
|
|
ldr r0, [r4, #0x18]
|
|
sub r1, r0, #1
|
|
ldr r0, [r4, #0x10]
|
|
add r7, r1, r0
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, r7, #0
|
|
bl AllocFromHeapAtEnd
|
|
add r5, r0, #0
|
|
mov r1, #0
|
|
cmp r7, #0
|
|
ble _021E3D68
|
|
_021E3D4C:
|
|
ldr r2, [r4, #0x10]
|
|
cmp r1, r2
|
|
bhs _021E3D58
|
|
ldr r0, [r4, #8]
|
|
ldrb r0, [r0, r1]
|
|
b _021E3D60
|
|
_021E3D58:
|
|
sub r2, r1, r2
|
|
ldr r0, [r4, #0x14]
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0, r2]
|
|
_021E3D60:
|
|
strb r0, [r5, r1]
|
|
add r1, r1, #1
|
|
cmp r1, r7
|
|
blt _021E3D4C
|
|
_021E3D68:
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, _021E3DB8 ; =0x00000804
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
add r4, #0x24
|
|
str r0, [sp, #0xc]
|
|
str r4, [sp, #0x10]
|
|
mov r0, #3
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x38]
|
|
add r1, #0x38
|
|
str r0, [sp, #0x18]
|
|
str r5, [sp, #0x1c]
|
|
add r0, r6, r1
|
|
str r7, [sp, #0x20]
|
|
add r1, r6, #0
|
|
str r0, [sp, #0x24]
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
ldr r3, [sp, #0x34]
|
|
add r0, r6, #4
|
|
mov r2, #0x2c
|
|
bl MOD16_021DBF9C
|
|
add r6, #0xc4
|
|
str r0, [r6]
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add sp, #0x3c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E3DAC: .word 0x00000808
|
|
_021E3DB0: .word 0x00000838
|
|
_021E3DB4: .word 0x0000015D
|
|
_021E3DB8: .word 0x00000804
|
|
thumb_func_end MOD16_021E3C18
|
|
|
|
thumb_func_start MOD16_021E3DBC
|
|
MOD16_021E3DBC: ; 0x021E3DBC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r2, #0xe1
|
|
add r6, r0, #0
|
|
add r0, #0xec
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl memset
|
|
mov r2, #0x47
|
|
lsl r2, r2, #4
|
|
add r0, r6, r2
|
|
mov r1, #0
|
|
sub r2, #0xec
|
|
bl memset
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021E3E00
|
|
add r5, r6, #0
|
|
add r7, r4, #0
|
|
_021E3DEA:
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r0
|
|
blt _021E3DEA
|
|
_021E3E00:
|
|
mov r0, #0
|
|
add r6, #0xc4
|
|
str r0, [r6]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E3DBC
|
|
|
|
thumb_func_start MOD16_021E3E08
|
|
MOD16_021E3E08: ; 0x021E3E08
|
|
mov r0, #0
|
|
str r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E3E08
|
|
|
|
thumb_func_start MOD16_021E3E10
|
|
MOD16_021E3E10: ; 0x021E3E10
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
ldr r2, [r5]
|
|
ldr r1, _021E3E60 ; =0x00001768
|
|
mov r4, #0
|
|
ldr r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _021E3E30
|
|
ldr r3, _021E3E64 ; =0x021FF5D6
|
|
ldr r1, _021E3E68 ; =0x0000FFFF
|
|
_021E3E26:
|
|
add r3, r3, #2
|
|
ldrh r2, [r3]
|
|
add r4, r4, #1
|
|
cmp r2, r1
|
|
bne _021E3E26
|
|
_021E3E30:
|
|
cmp r4, #0
|
|
beq _021E3E3C
|
|
add r1, r4, #0
|
|
bl AllocFromHeap
|
|
b _021E3E3E
|
|
_021E3E3C:
|
|
mov r0, #0
|
|
_021E3E3E:
|
|
str r4, [r6]
|
|
ldr r3, [r5]
|
|
ldr r2, _021E3E60 ; =0x00001768
|
|
mov r1, #0
|
|
ldr r2, [r3, r2]
|
|
cmp r2, #0
|
|
bne _021E3E5E
|
|
ldr r4, _021E3E64 ; =0x021FF5D6
|
|
ldr r2, _021E3E68 ; =0x0000FFFF
|
|
_021E3E50:
|
|
ldrh r3, [r4]
|
|
add r4, r4, #2
|
|
strb r3, [r0, r1]
|
|
ldrh r3, [r4]
|
|
add r1, r1, #1
|
|
cmp r3, r2
|
|
bne _021E3E50
|
|
_021E3E5E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E3E60: .word 0x00001768
|
|
_021E3E64: .word 0x021FF5D6
|
|
_021E3E68: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021E3E10
|
|
|
|
thumb_func_start MOD16_021E3E6C
|
|
MOD16_021E3E6C: ; 0x021E3E6C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
mov r0, #2
|
|
lsl r0, r0, #0xa
|
|
ldr r3, [r5, r0]
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #0x47
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
str r0, [sp, #4]
|
|
mov r1, #0x1e
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0x59
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldrh r2, [r3, #2]
|
|
ldr r1, [r3, #0x14]
|
|
ldrh r3, [r3]
|
|
ldr r0, [r4]
|
|
lsl r2, r2, #0x13
|
|
lsl r3, r3, #0x13
|
|
add r0, r0, #4
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
bl MOD16_021DB728
|
|
ldr r0, _021E3EEC ; =0x000007F8
|
|
mov r1, #0x1e
|
|
ldr r3, [r5, r0]
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
add r5, #0xec
|
|
str r5, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0x59
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldrh r2, [r3, #2]
|
|
ldr r1, [r3, #0x14]
|
|
ldrh r3, [r3]
|
|
ldr r0, [r4]
|
|
lsl r2, r2, #0x13
|
|
lsl r3, r3, #0x13
|
|
add r0, r0, #4
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
bl MOD16_021DB728
|
|
ldr r0, [r4]
|
|
add r0, r0, #4
|
|
bl FUN_020191D0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E3EEC: .word 0x000007F8
|
|
thumb_func_end MOD16_021E3E6C
|
|
|
|
thumb_func_start MOD16_021E3EF0
|
|
MOD16_021E3EF0: ; 0x021E3EF0
|
|
push {r4, lr}
|
|
ldr r1, _021E3F4C ; =0x00000834
|
|
add r4, r0, #0
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _021E3F30
|
|
add r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E3F30
|
|
add r0, r1, #0
|
|
add r0, #8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E3F30
|
|
add r1, #0xc
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _021E3F30
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
add r4, #0xcc
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
pop {r4, pc}
|
|
_021E3F30:
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add r4, #0xcc
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
pop {r4, pc}
|
|
nop
|
|
_021E3F4C: .word 0x00000834
|
|
thumb_func_end MOD16_021E3EF0
|
|
|
|
thumb_func_start MOD16_021E3F50
|
|
MOD16_021E3F50: ; 0x021E3F50
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
mov r7, #1
|
|
_021E3F5A:
|
|
cmp r4, r6
|
|
bne _021E3F6E
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
b _021E3F7C
|
|
_021E3F6E:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
_021E3F7C:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021E3F5A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E3F50
|
|
|
|
thumb_func_start MOD16_021E3F88
|
|
MOD16_021E3F88: ; 0x021E3F88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r4, r3, #0
|
|
add r7, r1, #0
|
|
ldr r2, [r5]
|
|
ldr r1, [r4]
|
|
cmp r2, r1
|
|
beq _021E3FC0
|
|
ldr r3, [sp, #0x18]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E3C18
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E3E6C
|
|
ldr r1, [r6, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021E3F50
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E3EF0
|
|
ldr r0, [r4]
|
|
str r0, [r5]
|
|
_021E3FC0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E3F88
|
|
|
|
thumb_func_start MOD16_021E3FC4
|
|
MOD16_021E3FC4: ; 0x021E3FC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r6, r2, #0
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021E3FE6
|
|
cmp r0, #1
|
|
beq _021E3FF0
|
|
cmp r0, #2
|
|
beq _021E3FFA
|
|
b _021E4004
|
|
_021E3FE6:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
b _021E4008
|
|
_021E3FF0:
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
b _021E4008
|
|
_021E3FFA:
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
b _021E4008
|
|
_021E4004:
|
|
bl ErrorHandling
|
|
_021E4008:
|
|
add r0, r5, #0
|
|
ldr r2, [sp, #4]
|
|
add r0, #0x14
|
|
add r1, r7, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DBD30
|
|
add r0, r5, #0
|
|
ldr r2, [sp]
|
|
add r0, #0x1c
|
|
add r1, r7, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021DBD30
|
|
ldr r0, [r4]
|
|
bl MOD16_021D9A54
|
|
cmp r0, #0
|
|
bne _021E404E
|
|
add r0, r5, #0
|
|
add r0, #0x24
|
|
add r1, r7, #0
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl MOD16_021DBD30
|
|
add r5, #0x2c
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
mov r2, #8
|
|
add r3, r6, #0
|
|
bl MOD16_021DBD30
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E404E:
|
|
add r0, r5, #0
|
|
add r0, #0x24
|
|
add r1, r7, #0
|
|
mov r2, #4
|
|
add r3, r6, #0
|
|
bl MOD16_021DBD30
|
|
add r5, #0x2c
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
mov r2, #9
|
|
add r3, r6, #0
|
|
bl MOD16_021DBD30
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E3FC4
|
|
|
|
thumb_func_start MOD16_021E4070
|
|
MOD16_021E4070: ; 0x021E4070
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x14
|
|
bl MOD16_021DBDC0
|
|
add r0, r4, #0
|
|
add r0, #0x1c
|
|
bl MOD16_021DBDC0
|
|
add r0, r4, #0
|
|
add r0, #0x24
|
|
bl MOD16_021DBDC0
|
|
add r4, #0x2c
|
|
add r0, r4, #0
|
|
bl MOD16_021DBDC0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E4070
|
|
|
|
thumb_func_start MOD16_021E4094
|
|
MOD16_021E4094: ; 0x021E4094
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _021E40D0 ; =0x0000080C
|
|
mov r1, #0
|
|
str r1, [r6, r0]
|
|
add r0, r0, #4
|
|
str r1, [r6, r0]
|
|
mov r0, #2
|
|
bl FUN_0201E6E4
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021E40CE
|
|
add r5, r6, #0
|
|
add r7, r4, #0
|
|
_021E40B8:
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r0
|
|
blt _021E40B8
|
|
_021E40CE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E40D0: .word 0x0000080C
|
|
thumb_func_end MOD16_021E4094
|
|
|
|
thumb_func_start MOD16_021E40D4
|
|
MOD16_021E40D4: ; 0x021E40D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldr r0, _021E4118 ; =0x04000050
|
|
mov r1, #0xa
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021E4116
|
|
add r5, r6, #0
|
|
add r7, r4, #0
|
|
_021E4100:
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r0
|
|
blt _021E4100
|
|
_021E4116:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E4118: .word 0x04000050
|
|
thumb_func_end MOD16_021E40D4
|
|
|
|
thumb_func_start MOD16_021E411C
|
|
MOD16_021E411C: ; 0x021E411C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E41F4 ; =0x0000080C
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0x20
|
|
blt _021E4172
|
|
mov r4, #0
|
|
str r4, [r5, r0]
|
|
add r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _021E4162
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ble _021E4158
|
|
add r6, r5, #0
|
|
mov r7, #1
|
|
_021E4142:
|
|
ldr r0, [r6, #4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
cmp r4, r0
|
|
blt _021E4142
|
|
_021E4158:
|
|
mov r0, #0x81
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _021E4172
|
|
_021E4162:
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x81
|
|
add r1, r4, #0
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_021E4172:
|
|
ldr r0, _021E41F4 ; =0x0000080C
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0x10
|
|
blt _021E417E
|
|
mov r0, #0x20
|
|
sub r1, r0, r1
|
|
_021E417E:
|
|
lsl r2, r1, #0xc
|
|
asr r1, r2, #0x1f
|
|
lsr r0, r2, #0x10
|
|
lsl r3, r1, #0x10
|
|
mov r1, #2
|
|
orr r3, r0
|
|
lsl r2, r2, #0x10
|
|
mov r0, #0
|
|
lsl r1, r1, #0xa
|
|
add r4, r2, r1
|
|
adc r3, r0
|
|
lsl r2, r3, #0x14
|
|
lsr r0, r4, #0xc
|
|
orr r0, r2
|
|
lsl r1, r1, #5
|
|
bl FX_Div
|
|
asr r1, r0, #0xc
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
orr r1, r0
|
|
ldr r0, _021E41F8 ; =0x04000052
|
|
strh r1, [r0]
|
|
ldr r0, _021E41F4 ; =0x0000080C
|
|
ldr r1, [r5, r0]
|
|
add r1, r1, #1
|
|
str r1, [r5, r0]
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0x20
|
|
blt _021E41F2
|
|
add r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _021E41CC
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E41CC:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021E41F2
|
|
add r6, r5, #0
|
|
add r7, r4, #0
|
|
_021E41DC:
|
|
ldr r0, [r6, #4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
cmp r4, r0
|
|
blt _021E41DC
|
|
_021E41F2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E41F4: .word 0x0000080C
|
|
_021E41F8: .word 0x04000052
|
|
thumb_func_end MOD16_021E411C
|
|
|
|
thumb_func_start MOD16_021E41FC
|
|
MOD16_021E41FC: ; 0x021E41FC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl MOD16_021D8700
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021D9DE8
|
|
add r2, r0, #0
|
|
mov r0, #0x28
|
|
str r0, [sp]
|
|
mov r0, #0x78
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4]
|
|
mov r3, #2
|
|
bl MOD16_021D7FB4
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_02007558
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E41FC
|
|
|
|
thumb_func_start MOD16_021E4234
|
|
MOD16_021E4234: ; 0x021E4234
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E42AC
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E42E8
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E4310
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E4340
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E427C ; =MOD16_021E4344
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E4280 ; =MOD16_021E437C
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E4284 ; =MOD16_021E43AC
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E4288 ; =MOD16_021E43C0
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E428C ; =MOD16_021E4478
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E4290 ; =MOD16_021E44AC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E427C: .word MOD16_021E4344
|
|
_021E4280: .word MOD16_021E437C
|
|
_021E4284: .word MOD16_021E43AC
|
|
_021E4288: .word MOD16_021E43C0
|
|
_021E428C: .word MOD16_021E4478
|
|
_021E4290: .word MOD16_021E44AC
|
|
thumb_func_end MOD16_021E4234
|
|
|
|
thumb_func_start MOD16_021E4294
|
|
MOD16_021E4294: ; 0x021E4294
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E4314
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E4328
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021E433C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E4294
|
|
|
|
thumb_func_start MOD16_021E42AC
|
|
MOD16_021E42AC: ; 0x021E42AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E42BE
|
|
bl ErrorHandling
|
|
_021E42BE:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E42AC
|
|
|
|
thumb_func_start MOD16_021E42E8
|
|
MOD16_021E42E8: ; 0x021E42E8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E42FA
|
|
bl ErrorHandling
|
|
_021E42FA:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E42E8
|
|
|
|
thumb_func_start MOD16_021E4310
|
|
MOD16_021E4310: ; 0x021E4310
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E4310
|
|
|
|
thumb_func_start MOD16_021E4314
|
|
MOD16_021E4314: ; 0x021E4314
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E431E
|
|
bl ErrorHandling
|
|
_021E431E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4314
|
|
|
|
thumb_func_start MOD16_021E4328
|
|
MOD16_021E4328: ; 0x021E4328
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E4332
|
|
bl ErrorHandling
|
|
_021E4332:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4328
|
|
|
|
thumb_func_start MOD16_021E433C
|
|
MOD16_021E433C: ; 0x021E433C
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E433C
|
|
|
|
thumb_func_start MOD16_021E4340
|
|
MOD16_021E4340: ; 0x021E4340
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E4340
|
|
|
|
thumb_func_start MOD16_021E4344
|
|
MOD16_021E4344: ; 0x021E4344
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r6, r1, #0
|
|
mov r1, #0x28
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E435A
|
|
bl ErrorHandling
|
|
_021E435A:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x28
|
|
bl memset
|
|
str r4, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E4A88
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E47E4
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E4344
|
|
|
|
thumb_func_start MOD16_021E437C
|
|
MOD16_021E437C: ; 0x021E437C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021E438C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E438C:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021E4396
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E4396:
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021E43A8
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E482C
|
|
_021E43A8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E437C
|
|
|
|
thumb_func_start MOD16_021E43AC
|
|
MOD16_021E43AC: ; 0x021E43AC
|
|
push {r4, lr}
|
|
ldr r4, [r0, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021E4968
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E43AC
|
|
|
|
thumb_func_start MOD16_021E43C0
|
|
MOD16_021E43C0: ; 0x021E43C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r3, #8]
|
|
add r4, r1, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021E4474
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E43E0: ; jump table
|
|
.short _021E43E8 - _021E43E0 - 2 ; case 0
|
|
.short _021E4402 - _021E43E0 - 2 ; case 1
|
|
.short _021E4436 - _021E43E0 - 2 ; case 2
|
|
.short _021E4458 - _021E43E0 - 2 ; case 3
|
|
_021E43E8:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x2c
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x2c
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4474
|
|
_021E4402:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E45F8
|
|
ldr r2, [sp]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E4980
|
|
ldr r3, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E49B8
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E4550
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4474
|
|
_021E4436:
|
|
ldr r3, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E49B8
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E45BC
|
|
cmp r0, #0
|
|
beq _021E4474
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4474
|
|
_021E4458:
|
|
ldr r3, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E49B8
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B3C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E4474:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E43C0
|
|
|
|
thumb_func_start MOD16_021E4478
|
|
MOD16_021E4478: ; 0x021E4478
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r3, #8]
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
str r0, [sp]
|
|
ldr r7, [r5, #8]
|
|
ldr r2, [sp]
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E4980
|
|
ldr r1, [sp]
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E4B14
|
|
ldr r3, [r5, #4]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E49B8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4478
|
|
|
|
thumb_func_start MOD16_021E44AC
|
|
MOD16_021E44AC: ; 0x021E44AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021E4534
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E44C8: ; jump table
|
|
.short _021E44D2 - _021E44C8 - 2 ; case 0
|
|
.short _021E44F4 - _021E44C8 - 2 ; case 1
|
|
.short _021E450A - _021E44C8 - 2 ; case 2
|
|
.short _021E451C - _021E44C8 - 2 ; case 3
|
|
.short _021E4530 - _021E44C8 - 2 ; case 4
|
|
_021E44D2:
|
|
mov r0, #0x79
|
|
ldr r1, [r6]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl MOD16_021D8B3C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021E4550
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4534
|
|
_021E44F4:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl MOD16_021E45BC
|
|
cmp r0, #0
|
|
beq _021E4534
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4534
|
|
_021E450A:
|
|
ldr r2, [r4, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E4620
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4534
|
|
_021E451C:
|
|
ldr r0, [r5, #0x14]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4534
|
|
_021E4530:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E4534:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E44AC
|
|
|
|
thumb_func_start MOD16_021E4538
|
|
MOD16_021E4538: ; 0x021E4538
|
|
ldr r3, _021E4540 ; =FUN_02020398
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bx r3
|
|
.align 2, 0
|
|
_021E4540: .word FUN_02020398
|
|
thumb_func_end MOD16_021E4538
|
|
|
|
thumb_func_start MOD16_021E4544
|
|
MOD16_021E4544: ; 0x021E4544
|
|
ldr r3, _021E454C ; =FUN_02020398
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bx r3
|
|
.align 2, 0
|
|
_021E454C: .word FUN_02020398
|
|
thumb_func_end MOD16_021E4544
|
|
|
|
thumb_func_start MOD16_021E4550
|
|
MOD16_021E4550: ; 0x021E4550
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E4538
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021E45B8
|
|
cmp r6, #0
|
|
beq _021E4594
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r2, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r2, r0
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E4594:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r3, r0
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E45B8:
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E4550
|
|
|
|
thumb_func_start MOD16_021E45BC
|
|
MOD16_021E45BC: ; 0x021E45BC
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #4]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021E45DC
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021E45E2
|
|
_021E45DC:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
_021E45E2:
|
|
cmp r0, #0
|
|
beq _021E45F4
|
|
cmp r4, #0
|
|
beq _021E45F0
|
|
add r0, r6, #0
|
|
bl MOD16_021E4544
|
|
_021E45F0:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E45F4:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E45BC
|
|
|
|
thumb_func_start MOD16_021E45F8
|
|
MOD16_021E45F8: ; 0x021E45F8
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E4634
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E469C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E4750
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E45F8
|
|
|
|
thumb_func_start MOD16_021E4620
|
|
MOD16_021E4620: ; 0x021E4620
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E47D8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E471C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E4620
|
|
|
|
thumb_func_start MOD16_021E4634
|
|
MOD16_021E4634: ; 0x021E4634
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x22
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x45
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4634
|
|
|
|
thumb_func_start MOD16_021E469C
|
|
MOD16_021E469C: ; 0x021E469C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E4710 ; =0x000017D9
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x69
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #4]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #4]
|
|
bl FUN_02009474
|
|
ldr r0, _021E4714 ; =0x000017D7
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x67
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E4718 ; =0x000017D8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x68
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x10]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E4710: .word 0x000017D9
|
|
_021E4714: .word 0x000017D7
|
|
_021E4718: .word 0x000017D8
|
|
thumb_func_end MOD16_021E469C
|
|
|
|
thumb_func_start MOD16_021E471C
|
|
MOD16_021E471C: ; 0x021E471C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #4]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0xc]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x10]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E471C
|
|
|
|
thumb_func_start MOD16_021E4750
|
|
MOD16_021E4750: ; 0x021E4750
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021E47D0 ; =0x000017D8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021E47D4 ; =0x0000083F
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
str r6, [sp, #0x48]
|
|
str r1, [sp, #0x34]
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r5]
|
|
bl FUN_02020130
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E47D0: .word 0x000017D8
|
|
_021E47D4: .word 0x0000083F
|
|
thumb_func_end MOD16_021E4750
|
|
|
|
thumb_func_start MOD16_021E47D8
|
|
MOD16_021E47D8: ; 0x021E47D8
|
|
ldr r3, _021E47E0 ; =FUN_0201FFC8
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021E47E0: .word FUN_0201FFC8
|
|
thumb_func_end MOD16_021E47D8
|
|
|
|
thumb_func_start MOD16_021E47E4
|
|
MOD16_021E47E4: ; 0x021E47E4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
str r0, [r5, #0x14]
|
|
mov r1, #0xfe
|
|
strb r1, [r0]
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, #0x14]
|
|
add r3, r5, #0
|
|
strb r1, [r0, #1]
|
|
ldr r1, [r5, #4]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, _021E4828 ; =MOD16_021E4938
|
|
strb r1, [r0, #2]
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #0x20
|
|
strb r1, [r0, #3]
|
|
str r4, [r5, #0x18]
|
|
str r5, [r5, #0x1c]
|
|
str r6, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #1
|
|
add r3, #0x18
|
|
bl FUN_020220C4
|
|
str r0, [r5, #0x10]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E4828: .word MOD16_021E4938
|
|
thumb_func_end MOD16_021E47E4
|
|
|
|
thumb_func_start MOD16_021E482C
|
|
MOD16_021E482C: ; 0x021E482C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
add r5, r1, #0
|
|
bl FUN_02022144
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E48BC
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, #0x14]
|
|
strb r1, [r0, #1]
|
|
ldr r1, [r4, #4]
|
|
ldr r0, [r4, #0x14]
|
|
strb r1, [r0, #2]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E482C
|
|
|
|
thumb_func_start MOD16_021E4850
|
|
MOD16_021E4850: ; 0x021E4850
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E48B4 ; =0x021C48F8
|
|
add r4, r1, #0
|
|
ldrh r0, [r0, #0x22]
|
|
cmp r0, #0
|
|
bne _021E48B2
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #1
|
|
bne _021E48B2
|
|
ldr r0, [r4]
|
|
bl MOD16_021E2F30
|
|
ldr r1, _021E48B8 ; =0x021C48B8
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x20
|
|
tst r1, r2
|
|
beq _021E4892
|
|
sub r1, r0, #1
|
|
bpl _021E487E
|
|
mov r1, #0
|
|
_021E487E:
|
|
ldr r0, [r4]
|
|
bl MOD16_021E2F38
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E4A88
|
|
mov r0, #1
|
|
str r0, [r5, #0x24]
|
|
pop {r3, r4, r5, pc}
|
|
_021E4892:
|
|
mov r1, #0x10
|
|
tst r1, r2
|
|
beq _021E48B2
|
|
add r1, r0, #1
|
|
cmp r1, #3
|
|
blt _021E48A0
|
|
mov r1, #2
|
|
_021E48A0:
|
|
ldr r0, [r4]
|
|
bl MOD16_021E2F38
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E4A88
|
|
mov r0, #1
|
|
str r0, [r5, #0x24]
|
|
_021E48B2:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E48B4: .word 0x021C48F8
|
|
_021E48B8: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E4850
|
|
|
|
thumb_func_start MOD16_021E48BC
|
|
MOD16_021E48BC: ; 0x021E48BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r2, #0
|
|
str r2, [r5, #0x24]
|
|
ldr r3, [r5, #0x20]
|
|
add r4, r1, #0
|
|
cmp r3, #0
|
|
beq _021E492E
|
|
ldr r0, _021E4934 ; =0x021C48F8
|
|
ldrh r1, [r0, #0x22]
|
|
cmp r1, #0
|
|
beq _021E492A
|
|
ldrh r2, [r0, #0x1c]
|
|
ldr r1, [r5, #8]
|
|
sub r1, r2, r1
|
|
str r1, [r5]
|
|
ldrh r1, [r0, #0x1e]
|
|
ldr r0, [r5, #0xc]
|
|
sub r0, r1, r0
|
|
str r0, [r5, #4]
|
|
ldr r0, [r5]
|
|
cmp r0, #0x18
|
|
bge _021E48EE
|
|
mov r0, #0x18
|
|
str r0, [r5]
|
|
_021E48EE:
|
|
ldr r0, [r5]
|
|
cmp r0, #0xf6
|
|
ble _021E48F8
|
|
mov r0, #0xf6
|
|
str r0, [r5]
|
|
_021E48F8:
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0x40
|
|
bge _021E4902
|
|
mov r0, #0x40
|
|
str r0, [r5, #4]
|
|
_021E4902:
|
|
ldr r0, [r5]
|
|
bl MOD16_021E4AC0
|
|
ldr r1, [r5, #4]
|
|
add r0, #0x84
|
|
cmp r1, r0
|
|
ble _021E4912
|
|
str r0, [r5, #4]
|
|
_021E4912:
|
|
ldr r0, [r5]
|
|
mov r1, #0x55
|
|
bl _s32_div_f
|
|
add r1, r0, #0
|
|
cmp r1, #2
|
|
ble _021E4922
|
|
mov r1, #2
|
|
_021E4922:
|
|
ldr r0, [r4]
|
|
bl MOD16_021E2F38
|
|
pop {r3, r4, r5, pc}
|
|
_021E492A:
|
|
str r2, [r5, #0x20]
|
|
pop {r3, r4, r5, pc}
|
|
_021E492E:
|
|
bl MOD16_021E4850
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E4934: .word 0x021C48F8
|
|
thumb_func_end MOD16_021E48BC
|
|
|
|
thumb_func_start MOD16_021E4938
|
|
MOD16_021E4938: ; 0x021E4938
|
|
push {r4, lr}
|
|
ldr r4, [r2, #4]
|
|
cmp r1, #0
|
|
bne _021E495C
|
|
ldr r0, _021E4960 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
ldr r0, _021E4964 ; =0x021C48F8
|
|
ldr r1, [r4]
|
|
ldrh r2, [r0, #0x1c]
|
|
sub r1, r2, r1
|
|
str r1, [r4, #8]
|
|
ldrh r1, [r0, #0x1e]
|
|
ldr r0, [r4, #4]
|
|
sub r0, r1, r0
|
|
str r0, [r4, #0xc]
|
|
_021E495C:
|
|
pop {r4, pc}
|
|
nop
|
|
_021E4960: .word 0x000005DD
|
|
_021E4964: .word 0x021C48F8
|
|
thumb_func_end MOD16_021E4938
|
|
|
|
thumb_func_start MOD16_021E4968
|
|
MOD16_021E4968: ; 0x021E4968
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #0x14]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4968
|
|
|
|
thumb_func_start MOD16_021E4980
|
|
MOD16_021E4980: ; 0x021E4980
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r2]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [r2, #4]
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #4]
|
|
add r0, r1, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
ldr r0, [r4]
|
|
bl MOD16_021E2F30
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
bl FUN_02020130
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4980
|
|
|
|
thumb_func_start MOD16_021E49B8
|
|
MOD16_021E49B8: ; 0x021E49B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r2]
|
|
add r7, r1, #0
|
|
str r3, [sp]
|
|
mov r4, #0
|
|
bl MOD16_021E2F30
|
|
ldr r1, [r5, #0x18]
|
|
add r6, r0, #0
|
|
cmp r1, r6
|
|
bne _021E49DC
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
beq _021E49DC
|
|
ldr r0, [r5, #0x1c]
|
|
cmp r0, r1
|
|
beq _021E4A86
|
|
_021E49DC:
|
|
ldr r0, [r5, #0x1c]
|
|
cmp r0, r6
|
|
beq _021E49E8
|
|
str r0, [r5, #0x18]
|
|
mov r0, #0
|
|
str r0, [r5, #0x24]
|
|
_021E49E8:
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #0
|
|
beq _021E49F8
|
|
cmp r0, #1
|
|
beq _021E4A2E
|
|
cmp r0, #2
|
|
beq _021E4A64
|
|
b _021E4A6C
|
|
_021E49F8:
|
|
str r6, [r5, #0x1c]
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
beq _021E4A04
|
|
bl FreeToHeap
|
|
_021E4A04:
|
|
ldr r1, [r5, #0x18]
|
|
add r2, r5, #0
|
|
ldr r0, [r7]
|
|
ldr r3, [sp]
|
|
add r1, #0xf
|
|
add r2, #0x20
|
|
bl MOD16_021D8D70
|
|
str r0, [r5, #0x14]
|
|
mov r0, #0
|
|
str r0, [r5, #0x28]
|
|
ldr r0, [r5, #0x18]
|
|
cmp r0, r6
|
|
ble _021E4A24
|
|
mov r4, #1
|
|
b _021E4A26
|
|
_021E4A24:
|
|
mov r4, #2
|
|
_021E4A26:
|
|
ldr r0, [r5, #0x24]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x24]
|
|
b _021E4A6C
|
|
_021E4A2E:
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
beq _021E4A38
|
|
bl FreeToHeap
|
|
_021E4A38:
|
|
ldr r1, [r5, #0x1c]
|
|
add r2, r5, #0
|
|
ldr r0, [r7]
|
|
ldr r3, [sp]
|
|
add r1, #0xf
|
|
add r2, #0x20
|
|
bl MOD16_021D8D70
|
|
str r0, [r5, #0x14]
|
|
mov r0, #0
|
|
str r0, [r5, #0x28]
|
|
ldr r1, [r5, #0x18]
|
|
ldr r0, [r5, #0x1c]
|
|
cmp r1, r0
|
|
bge _021E4A5A
|
|
mov r4, #1
|
|
b _021E4A5C
|
|
_021E4A5A:
|
|
mov r4, #2
|
|
_021E4A5C:
|
|
ldr r0, [r5, #0x24]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x24]
|
|
b _021E4A6C
|
|
_021E4A64:
|
|
mov r4, #0
|
|
str r4, [r5, #0x24]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [r5, #0x18]
|
|
_021E4A6C:
|
|
ldr r2, [r5, #0x20]
|
|
mov r0, #0x1f
|
|
ldr r3, [r2, #0xc]
|
|
lsl r2, r4, #5
|
|
add r2, r3, r2
|
|
mov r1, #0x40
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
cmp r0, #0
|
|
bne _021E4A86
|
|
bl ErrorHandling
|
|
_021E4A86:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E49B8
|
|
|
|
thumb_func_start MOD16_021E4A88
|
|
MOD16_021E4A88: ; 0x021E4A88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r1]
|
|
bl MOD16_021E2F30
|
|
cmp r0, #0
|
|
beq _021E4AA0
|
|
cmp r0, #1
|
|
beq _021E4AAA
|
|
cmp r0, #2
|
|
beq _021E4AB4
|
|
pop {r4, pc}
|
|
_021E4AA0:
|
|
mov r0, #0x20
|
|
str r0, [r4]
|
|
mov r0, #0x80
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_021E4AAA:
|
|
mov r0, #0x80
|
|
str r0, [r4]
|
|
mov r0, #0x60
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_021E4AB4:
|
|
mov r0, #0xe0
|
|
str r0, [r4]
|
|
mov r0, #0x80
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4A88
|
|
|
|
thumb_func_start MOD16_021E4AC0
|
|
MOD16_021E4AC0: ; 0x021E4AC0
|
|
push {r3, lr}
|
|
cmp r0, #0x28
|
|
blt _021E4ACA
|
|
cmp r0, #0xd8
|
|
ble _021E4ACE
|
|
_021E4ACA:
|
|
mov r0, #0x30
|
|
pop {r3, pc}
|
|
_021E4ACE:
|
|
ldr r1, _021E4B0C ; =0x00007FFF
|
|
sub r0, #0x28
|
|
mul r1, r0
|
|
add r0, r1, #0
|
|
mov r1, #0xb0
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
asr r0, r0, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _021E4B10 ; =0x020FFA38
|
|
mov r2, #3
|
|
ldrsh r0, [r0, r1]
|
|
lsl r2, r2, #0x10
|
|
mov r3, #0
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
asr r1, r1, #0xc
|
|
mov r0, #0x30
|
|
sub r0, r0, r1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021E4B0C: .word 0x00007FFF
|
|
_021E4B10: .word 0x020FFA38
|
|
thumb_func_end MOD16_021E4AC0
|
|
|
|
thumb_func_start MOD16_021E4B14
|
|
MOD16_021E4B14: ; 0x021E4B14
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0]
|
|
ldr r0, [r2, #4]
|
|
add r5, r1, #0
|
|
bl MOD16_021E95C8
|
|
cmp r0, #1
|
|
bne _021E4B48
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #0
|
|
bne _021E4B3A
|
|
mov r3, #0x20
|
|
str r3, [sp]
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021D8B04
|
|
pop {r3, r4, r5, pc}
|
|
_021E4B3A:
|
|
mov r3, #0x20
|
|
str r3, [sp]
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021D8B78
|
|
_021E4B48:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4B14
|
|
|
|
thumb_func_start MOD16_021E4B4C
|
|
MOD16_021E4B4C: ; 0x021E4B4C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021E4BCC
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E4C08
|
|
str r4, [r5]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E4C58
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E4B8C ; =MOD16_021E4C5C
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E4B90 ; =MOD16_021E4C80
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E4B94 ; =MOD16_021E4CD0
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E4B98 ; =MOD16_021E4CDC
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E4B9C ; =MOD16_021E4DBC
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E4BA0 ; =MOD16_021E4DC0
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E4B8C: .word MOD16_021E4C5C
|
|
_021E4B90: .word MOD16_021E4C80
|
|
_021E4B94: .word MOD16_021E4CD0
|
|
_021E4B98: .word MOD16_021E4CDC
|
|
_021E4B9C: .word MOD16_021E4DBC
|
|
_021E4BA0: .word MOD16_021E4DC0
|
|
thumb_func_end MOD16_021E4B4C
|
|
|
|
thumb_func_start MOD16_021E4BA4
|
|
MOD16_021E4BA4: ; 0x021E4BA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E4C30
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E4C44
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4BA4
|
|
|
|
thumb_func_start MOD16_021E4BB8
|
|
MOD16_021E4BB8: ; 0x021E4BB8
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E4BB8
|
|
|
|
thumb_func_start MOD16_021E4BBC
|
|
MOD16_021E4BBC: ; 0x021E4BBC
|
|
mov r2, #1
|
|
cmp r1, #1
|
|
bne _021E4BC6
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
_021E4BC6:
|
|
str r1, [r0, #0x18]
|
|
add r0, r2, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E4BBC
|
|
|
|
thumb_func_start MOD16_021E4BCC
|
|
MOD16_021E4BCC: ; 0x021E4BCC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x20
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E4BDE
|
|
bl ErrorHandling
|
|
_021E4BDE:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4BCC
|
|
|
|
thumb_func_start MOD16_021E4C08
|
|
MOD16_021E4C08: ; 0x021E4C08
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E4C1A
|
|
bl ErrorHandling
|
|
_021E4C1A:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E4C08
|
|
|
|
thumb_func_start MOD16_021E4C30
|
|
MOD16_021E4C30: ; 0x021E4C30
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E4C3A
|
|
bl ErrorHandling
|
|
_021E4C3A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4C30
|
|
|
|
thumb_func_start MOD16_021E4C44
|
|
MOD16_021E4C44: ; 0x021E4C44
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E4C4E
|
|
bl ErrorHandling
|
|
_021E4C4E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4C44
|
|
|
|
thumb_func_start MOD16_021E4C58
|
|
MOD16_021E4C58: ; 0x021E4C58
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E4C58
|
|
|
|
thumb_func_start MOD16_021E4C5C
|
|
MOD16_021E4C5C: ; 0x021E4C5C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9A60
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9D04
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9A78
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E4C5C
|
|
|
|
thumb_func_start MOD16_021E4C80
|
|
MOD16_021E4C80: ; 0x021E4C80
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r4, r1, #0
|
|
cmp r0, #1
|
|
bne _021E4C90
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E4C90:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #1
|
|
bne _021E4C9A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E4C9A:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
bne _021E4CC8
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #1
|
|
bne _021E4CC2
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r1, r0, #0
|
|
ldr r2, _021E4CCC ; =0x000001FF
|
|
lsl r1, r1, #0x10
|
|
mov r0, #0xe
|
|
lsr r1, r1, #0x10
|
|
add r3, r2, #0
|
|
str r2, [sp]
|
|
bl FUN_020056AC
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
_021E4CC2:
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
_021E4CC8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E4CCC: .word 0x000001FF
|
|
thumb_func_end MOD16_021E4C80
|
|
|
|
thumb_func_start MOD16_021E4CD0
|
|
MOD16_021E4CD0: ; 0x021E4CD0
|
|
push {r3, lr}
|
|
mov r0, #0
|
|
bl FUN_02005614
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E4CD0
|
|
|
|
thumb_func_start MOD16_021E4CDC
|
|
MOD16_021E4CDC: ; 0x021E4CDC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021E4DB2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E4CF8: ; jump table
|
|
.short _021E4D00 - _021E4CF8 - 2 ; case 0
|
|
.short _021E4D1A - _021E4CF8 - 2 ; case 1
|
|
.short _021E4D64 - _021E4CF8 - 2 ; case 2
|
|
.short _021E4DA8 - _021E4CF8 - 2 ; case 3
|
|
_021E4D00:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x74
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x74
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4DB2
|
|
_021E4D1A:
|
|
ldr r3, [r4, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E4E7C
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _021E4D34
|
|
cmp r0, #1
|
|
beq _021E4D42
|
|
cmp r0, #2
|
|
beq _021E4D50
|
|
b _021E4D5C
|
|
_021E4D34:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E5908
|
|
b _021E4D5C
|
|
_021E4D42:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E5830
|
|
b _021E4D5C
|
|
_021E4D50:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E5A04
|
|
_021E4D5C:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4DB2
|
|
_021E4D64:
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _021E4D74
|
|
cmp r0, #1
|
|
beq _021E4D82
|
|
cmp r0, #2
|
|
beq _021E4D90
|
|
b _021E4D9C
|
|
_021E4D74:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021E598C
|
|
add r1, r0, #0
|
|
b _021E4D9C
|
|
_021E4D82:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021E58AC
|
|
add r1, r0, #0
|
|
b _021E4D9C
|
|
_021E4D90:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021E5A8C
|
|
add r1, r0, #0
|
|
_021E4D9C:
|
|
cmp r1, #0
|
|
beq _021E4DB2
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4DB2
|
|
_021E4DA8:
|
|
ldr r0, _021E4DB8 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E4DB2:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E4DB8: .word 0x04000050
|
|
thumb_func_end MOD16_021E4CDC
|
|
|
|
thumb_func_start MOD16_021E4DBC
|
|
MOD16_021E4DBC: ; 0x021E4DBC
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E4DBC
|
|
|
|
thumb_func_start MOD16_021E4DC0
|
|
MOD16_021E4DC0: ; 0x021E4DC0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r5, [r4]
|
|
add r3, r0, #0
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r5, #4
|
|
bhi _021E4E76
|
|
add r5, r5, r5
|
|
add r5, pc
|
|
ldrh r5, [r5, #6]
|
|
lsl r5, r5, #0x10
|
|
asr r5, r5, #0x10
|
|
add pc, r5
|
|
_021E4DDC: ; jump table
|
|
.short _021E4DE6 - _021E4DDC - 2 ; case 0
|
|
.short _021E4E1A - _021E4DDC - 2 ; case 1
|
|
.short _021E4E58 - _021E4DDC - 2 ; case 2
|
|
.short _021E4E66 - _021E4DDC - 2 ; case 3
|
|
.short _021E4E72 - _021E4DDC - 2 ; case 4
|
|
_021E4DE6:
|
|
ldr r1, [r1, #0x14]
|
|
cmp r1, #0
|
|
beq _021E4DF6
|
|
cmp r1, #1
|
|
beq _021E4E00
|
|
cmp r1, #2
|
|
beq _021E4E0A
|
|
b _021E4E12
|
|
_021E4DF6:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E5908
|
|
b _021E4E12
|
|
_021E4E00:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E5830
|
|
b _021E4E12
|
|
_021E4E0A:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E5A04
|
|
_021E4E12:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4E76
|
|
_021E4E1A:
|
|
ldr r1, [r1, #0x14]
|
|
cmp r1, #0
|
|
beq _021E4E2A
|
|
cmp r1, #1
|
|
beq _021E4E36
|
|
cmp r1, #2
|
|
beq _021E4E42
|
|
b _021E4E4C
|
|
_021E4E2A:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E598C
|
|
add r2, r0, #0
|
|
b _021E4E4C
|
|
_021E4E36:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E58AC
|
|
add r2, r0, #0
|
|
b _021E4E4C
|
|
_021E4E42:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E5A8C
|
|
add r2, r0, #0
|
|
_021E4E4C:
|
|
cmp r2, #0
|
|
beq _021E4E76
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4E76
|
|
_021E4E58:
|
|
add r1, r3, #0
|
|
bl MOD16_021E4EE4
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4E76
|
|
_021E4E66:
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E4E76
|
|
_021E4E72:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E4E76:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4DC0
|
|
|
|
thumb_func_start MOD16_021E4E7C
|
|
MOD16_021E4E7C: ; 0x021E4E7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E53C4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E5410
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E5464
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E56D0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E4F1C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E5030
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DF8
|
|
cmp r0, #2
|
|
bne _021E4EE2
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E51FC
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E5554
|
|
_021E4EE2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E4E7C
|
|
|
|
thumb_func_start MOD16_021E4EE4
|
|
MOD16_021E4EE4: ; 0x021E4EE4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl MOD16_021E5818
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E5224
|
|
add r0, r5, #0
|
|
bl MOD16_021E56B4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E5510
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4EE4
|
|
|
|
thumb_func_start MOD16_021E4F1C
|
|
MOD16_021E4F1C: ; 0x021E4F1C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x32
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x33
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r3, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x34
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r6, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x36
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r4, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E4F1C
|
|
|
|
thumb_func_start MOD16_021E5030
|
|
MOD16_021E5030: ; 0x021E5030
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r7, r2, #0
|
|
bl MOD16_021D9DE8
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DF8
|
|
cmp r0, #2
|
|
beq _021E504C
|
|
mov r6, #0
|
|
_021E504C:
|
|
ldr r0, _021E5060 ; =0x00020100
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
ldr r3, [r4, #0x18]
|
|
add r0, r0, #4
|
|
add r2, r7, #0
|
|
bl MOD16_021E5064
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E5060: .word 0x00020100
|
|
thumb_func_end MOD16_021E5030
|
|
|
|
thumb_func_start MOD16_021E5064
|
|
MOD16_021E5064: ; 0x021E5064
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x40
|
|
add r1, r6, #0
|
|
str r3, [sp, #0x14]
|
|
ldr r4, [sp, #0x30]
|
|
bl FUN_020219F4
|
|
add r7, r0, #0
|
|
ldr r2, _021E5100 ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #9
|
|
add r2, r7, #0
|
|
str r0, [sp, #0x18]
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x58
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #0x98
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xa
|
|
add r2, r7, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x68
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #0x98
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_0200A8B8
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021E5104
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021E5158
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
str r4, [sp]
|
|
bl MOD16_021E51AC
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E5100: .word 0x00000266
|
|
thumb_func_end MOD16_021E5064
|
|
|
|
thumb_func_start MOD16_021E5104
|
|
MOD16_021E5104: ; 0x021E5104
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
mov r0, #0x40
|
|
add r6, r1, #0
|
|
str r2, [sp, #0x10]
|
|
add r5, r3, #0
|
|
bl FUN_020219F4
|
|
mov r2, #0x9b
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #2
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r4, #0
|
|
add r6, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x58
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
str r5, [sp, #8]
|
|
add r0, r7, #0
|
|
add r2, r4, #0
|
|
mov r3, #0xb8
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5104
|
|
|
|
thumb_func_start MOD16_021E5158
|
|
MOD16_021E5158: ; 0x021E5158
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
mov r0, #0x40
|
|
add r6, r1, #0
|
|
str r2, [sp, #0x10]
|
|
add r5, r3, #0
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
ldr r2, _021E51A8 ; =0x0000026B
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r4, #0
|
|
add r6, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x68
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
str r5, [sp, #8]
|
|
add r0, r7, #0
|
|
add r2, r4, #0
|
|
mov r3, #0xb8
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E51A8: .word 0x0000026B
|
|
thumb_func_end MOD16_021E5158
|
|
|
|
thumb_func_start MOD16_021E51AC
|
|
MOD16_021E51AC: ; 0x021E51AC
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r2, r3, #0
|
|
mov r1, #2
|
|
add r3, r4, #0
|
|
bl MOD16_021DBC48
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002F08
|
|
cmp r0, #0xf0
|
|
bhs _021E51D8
|
|
lsr r1, r0, #1
|
|
mov r0, #0x80
|
|
sub r3, r0, r1
|
|
b _021E51DA
|
|
_021E51D8:
|
|
mov r3, #8
|
|
_021E51DA:
|
|
mov r0, #0x88
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x20]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl MOD16_021DBBAC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E51AC
|
|
|
|
thumb_func_start MOD16_021E51FC
|
|
MOD16_021E51FC: ; 0x021E51FC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r2, #4]
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021D9DE8
|
|
add r3, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E5238
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E533C
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E51FC
|
|
|
|
thumb_func_start MOD16_021E5224
|
|
MOD16_021E5224: ; 0x021E5224
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E53B4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E52F4
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E5224
|
|
|
|
thumb_func_start MOD16_021E5238
|
|
MOD16_021E5238: ; 0x021E5238
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
str r3, [sp, #0x10]
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
ldr r4, [r1]
|
|
bl MOD16_021D8520
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
bl MOD16_021D8524
|
|
str r0, [sp, #0x14]
|
|
bl MOD16_021D8528
|
|
str r0, [sp, #0x18]
|
|
bl MOD16_021D852C
|
|
str r0, [sp, #0x1c]
|
|
bl MOD16_021D8530
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #4
|
|
str r0, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x14]
|
|
add r1, r7, #0
|
|
bl FUN_02008F34
|
|
str r0, [r5, #0x24]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x24]
|
|
bl FUN_02009474
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #4
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r6, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl FUN_02008FEC
|
|
str r0, [r5, #0x28]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02009474
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #4
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x1c]
|
|
add r1, r7, #0
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0x2c]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #4
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r6, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x20]
|
|
add r1, r7, #0
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0x30]
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E5238
|
|
|
|
thumb_func_start MOD16_021E52F4
|
|
MOD16_021E52F4: ; 0x021E52F4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x24]
|
|
ldr r4, [r1]
|
|
cmp r0, #0
|
|
beq _021E533A
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x24]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x28]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x2c]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x30]
|
|
bl FUN_02009490
|
|
_021E533A:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E52F4
|
|
|
|
thumb_func_start MOD16_021E533C
|
|
MOD16_021E533C: ; 0x021E533C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
mov r1, #0xfa
|
|
add r5, r0, #0
|
|
lsl r1, r1, #4
|
|
mov r0, #0
|
|
add r6, r2, #0
|
|
str r1, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #5
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r3, [r4, r0]
|
|
str r3, [sp, #0x14]
|
|
add r3, r0, #4
|
|
ldr r3, [r4, r3]
|
|
str r3, [sp, #0x18]
|
|
add r3, r0, #0
|
|
add r3, #8
|
|
ldr r3, [r4, r3]
|
|
add r0, #0xc
|
|
str r3, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r0, sp, #0x4c
|
|
add r2, r1, #0
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x40]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x1e
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
add r0, sp, #0x2c
|
|
str r6, [sp, #0x48]
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E533C
|
|
|
|
thumb_func_start MOD16_021E53B4
|
|
MOD16_021E53B4: ; 0x021E53B4
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E53C0
|
|
bl FUN_0201FFC8
|
|
_021E53C0:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E53B4
|
|
|
|
thumb_func_start MOD16_021E53C4
|
|
MOD16_021E53C4: ; 0x021E53C4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r6, r2, #0
|
|
bl MOD16_021D9D88
|
|
add r3, r0, #0
|
|
mov r0, #0x2b
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
add r2, r6, #0
|
|
bl MOD16_021D7E9C
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D891C
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E53C4
|
|
|
|
thumb_func_start MOD16_021E53F8
|
|
MOD16_021E53F8: ; 0x021E53F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl MOD16_021D8950
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E53F8
|
|
|
|
thumb_func_start MOD16_021E5410
|
|
MOD16_021E5410: ; 0x021E5410
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl MOD16_021D8700
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r2, r0, #0
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
mov r0, #0x48
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
mov r3, #2
|
|
bl MOD16_021D7FB4
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_02007558
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E5410
|
|
|
|
thumb_func_start MOD16_021E5448
|
|
MOD16_021E5448: ; 0x021E5448
|
|
push {r4, lr}
|
|
ldr r0, [r0]
|
|
bl MOD16_021D8700
|
|
add r4, r0, #0
|
|
mov r1, #6
|
|
mov r2, #1
|
|
bl FUN_02007558
|
|
add r0, r4, #0
|
|
bl FUN_02007EEC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5448
|
|
|
|
thumb_func_start MOD16_021E5464
|
|
MOD16_021E5464: ; 0x021E5464
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E5500 ; =0x00000FFA
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x5a
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x14]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x14]
|
|
bl FUN_02009474
|
|
ldr r0, _021E5504 ; =0x00000FAD
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xd
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x18]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009474
|
|
ldr r0, _021E5508 ; =0x00000FF8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x58
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x1c]
|
|
ldr r0, _021E550C ; =0x00000FF9
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x59
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x20]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E5500: .word 0x00000FFA
|
|
_021E5504: .word 0x00000FAD
|
|
_021E5508: .word 0x00000FF8
|
|
_021E550C: .word 0x00000FF9
|
|
thumb_func_end MOD16_021E5464
|
|
|
|
thumb_func_start MOD16_021E5510
|
|
MOD16_021E5510: ; 0x021E5510
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x14]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x1c]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x20]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E5510
|
|
|
|
thumb_func_start MOD16_021E5554
|
|
MOD16_021E5554: ; 0x021E5554
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x78
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #4]
|
|
str r3, [sp, #0x2c]
|
|
ldr r4, [r1]
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r6, #4]
|
|
add r1, r7, #0
|
|
bl MOD16_021D9964
|
|
str r0, [sp, #0x30]
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r7, #0
|
|
mov r2, #6
|
|
bl FUN_02068654
|
|
add r6, r0, #0
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r7, #0
|
|
mov r2, #7
|
|
bl FUN_02068654
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
bl MOD16_021E563C
|
|
add r6, r0, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021E563C
|
|
ldr r3, _021E5638 ; =0x00000FF9
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #5
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x54
|
|
sub r2, #0x4c
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x34]
|
|
add r0, sp, #0x54
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x48]
|
|
mov r0, #1
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x50]
|
|
mov r0, #0xaa
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x40]
|
|
add r0, sp, #0x34
|
|
bl FUN_0201FF84
|
|
add r1, r6, #0
|
|
str r0, [r5, #4]
|
|
bl FUN_02020130
|
|
cmp r6, r7
|
|
beq _021E562E
|
|
mov r0, #0x37
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x40]
|
|
add r0, sp, #0x34
|
|
bl FUN_0201FF84
|
|
add r1, r7, #0
|
|
str r0, [r5, #8]
|
|
bl FUN_02020130
|
|
add sp, #0x78
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E562E:
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
add sp, #0x78
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E5638: .word 0x00000FF9
|
|
thumb_func_end MOD16_021E5554
|
|
|
|
thumb_func_start MOD16_021E563C
|
|
MOD16_021E563C: ; 0x021E563C
|
|
cmp r0, #0x11
|
|
bhi _021E56B2
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E564C: ; jump table
|
|
.short _021E5670 - _021E564C - 2 ; case 0
|
|
.short _021E5674 - _021E564C - 2 ; case 1
|
|
.short _021E5678 - _021E564C - 2 ; case 2
|
|
.short _021E567C - _021E564C - 2 ; case 3
|
|
.short _021E5680 - _021E564C - 2 ; case 4
|
|
.short _021E5684 - _021E564C - 2 ; case 5
|
|
.short _021E5688 - _021E564C - 2 ; case 6
|
|
.short _021E568C - _021E564C - 2 ; case 7
|
|
.short _021E5690 - _021E564C - 2 ; case 8
|
|
.short _021E568C - _021E564C - 2 ; case 9
|
|
.short _021E5694 - _021E564C - 2 ; case 10
|
|
.short _021E5698 - _021E564C - 2 ; case 11
|
|
.short _021E569C - _021E564C - 2 ; case 12
|
|
.short _021E56A0 - _021E564C - 2 ; case 13
|
|
.short _021E56A4 - _021E564C - 2 ; case 14
|
|
.short _021E56A8 - _021E564C - 2 ; case 15
|
|
.short _021E56AC - _021E564C - 2 ; case 16
|
|
.short _021E56B0 - _021E564C - 2 ; case 17
|
|
_021E5670:
|
|
mov r0, #0
|
|
bx lr
|
|
_021E5674:
|
|
mov r0, #6
|
|
bx lr
|
|
_021E5678:
|
|
mov r0, #0xe
|
|
bx lr
|
|
_021E567C:
|
|
mov r0, #0xa
|
|
bx lr
|
|
_021E5680:
|
|
mov r0, #8
|
|
bx lr
|
|
_021E5684:
|
|
mov r0, #5
|
|
bx lr
|
|
_021E5688:
|
|
mov r0, #0xb
|
|
bx lr
|
|
_021E568C:
|
|
mov r0, #7
|
|
bx lr
|
|
_021E5690:
|
|
mov r0, #9
|
|
bx lr
|
|
_021E5694:
|
|
mov r0, #1
|
|
bx lr
|
|
_021E5698:
|
|
mov r0, #3
|
|
bx lr
|
|
_021E569C:
|
|
mov r0, #2
|
|
bx lr
|
|
_021E56A0:
|
|
mov r0, #4
|
|
bx lr
|
|
_021E56A4:
|
|
mov r0, #0xf
|
|
bx lr
|
|
_021E56A8:
|
|
mov r0, #0xd
|
|
bx lr
|
|
_021E56AC:
|
|
mov r0, #0x10
|
|
bx lr
|
|
_021E56B0:
|
|
mov r0, #0xc
|
|
_021E56B2:
|
|
bx lr
|
|
thumb_func_end MOD16_021E563C
|
|
|
|
thumb_func_start MOD16_021E56B4
|
|
MOD16_021E56B4: ; 0x021E56B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021E56C2
|
|
bl FUN_0201FFC8
|
|
_021E56C2:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021E56CC
|
|
bl FUN_0201FFC8
|
|
_021E56CC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E56B4
|
|
|
|
thumb_func_start MOD16_021E56D0
|
|
MOD16_021E56D0: ; 0x021E56D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0xa0
|
|
add r6, r0, #0
|
|
add r0, r2, #0
|
|
add r5, r1, #0
|
|
ldr r0, [r0, #4]
|
|
str r2, [sp, #0x2c]
|
|
add r7, r3, #0
|
|
ldr r4, [r5]
|
|
bl MOD16_021D9DE8
|
|
ldr r3, _021E57C4 ; =0x00000FF9
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #5
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x7c
|
|
sub r2, #0x4c
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x5c]
|
|
add r0, sp, #0x7c
|
|
str r0, [sp, #0x60]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x70]
|
|
mov r0, #1
|
|
str r0, [sp, #0x74]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x64]
|
|
mov r0, #0xd
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x68]
|
|
add r0, sp, #0x5c
|
|
str r7, [sp, #0x78]
|
|
bl FUN_0201FF84
|
|
mov r1, #0x11
|
|
str r0, [r6, #0xc]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r0, [r0, #4]
|
|
bl MOD16_021D9DF8
|
|
cmp r0, #2
|
|
beq _021E5768
|
|
mov r0, #0
|
|
str r0, [sp, #0x30]
|
|
_021E5768:
|
|
mov r0, #0x15
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [sp, #0x30]
|
|
add r2, r7, #0
|
|
bl MOD16_021E57C8
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl MOD16_021D88D4
|
|
mov r1, #0x15
|
|
ldr r2, [r5]
|
|
lsl r1, r1, #4
|
|
ldr r1, [r2, r1]
|
|
str r1, [sp, #0x34]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [r6, #0xc]
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0x4d
|
|
mvn r0, r0
|
|
str r0, [sp, #0x44]
|
|
add r0, #0x46
|
|
str r0, [sp, #0x48]
|
|
mov r0, #0
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x50]
|
|
mov r0, #1
|
|
str r0, [sp, #0x54]
|
|
str r7, [sp, #0x58]
|
|
str r4, [sp, #0x38]
|
|
add r0, sp, #0x34
|
|
bl MOD16_021DB2BC
|
|
str r0, [r6, #0x10]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0xa0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E57C4: .word 0x00000FF9
|
|
thumb_func_end MOD16_021E56D0
|
|
|
|
thumb_func_start MOD16_021E57C8
|
|
MOD16_021E57C8: ; 0x021E57C8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
mov r1, #0x12
|
|
mov r2, #2
|
|
add r7, r0, #0
|
|
bl MOD16_021DB388
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r6, #0
|
|
bl MOD16_021DBC08
|
|
add r5, r0, #0
|
|
mov r0, #2
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
cmp r0, #0x88
|
|
bhs _021E57FC
|
|
mov r1, #0x88
|
|
sub r0, r1, r0
|
|
lsr r3, r0, #1
|
|
b _021E57FE
|
|
_021E57FC:
|
|
mov r3, #0
|
|
_021E57FE:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021DB42C
|
|
add r0, r5, #0
|
|
bl MOD16_021DBBAC
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E57C8
|
|
|
|
thumb_func_start MOD16_021E5818
|
|
MOD16_021E5818: ; 0x021E5818
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl FUN_0201FFC8
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021DB338
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5818
|
|
|
|
thumb_func_start MOD16_021E5830
|
|
MOD16_021E5830: ; 0x021E5830
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021D88F0
|
|
add r0, r7, #0
|
|
bl MOD16_021E5B08
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E58A2
|
|
cmp r6, #0
|
|
beq _021E587E
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
b _021E58A2
|
|
_021E587E:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E58A2:
|
|
add r0, r5, #0
|
|
bl MOD16_021E5B70
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E5830
|
|
|
|
thumb_func_start MOD16_021E58AC
|
|
MOD16_021E58AC: ; 0x021E58AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r2, #0x10]
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021E58CC
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021E58D6
|
|
_021E58CC:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021E58D6:
|
|
add r4, r0, #0
|
|
cmp r4, #1
|
|
bne _021E58FE
|
|
cmp r6, #1
|
|
bne _021E58F0
|
|
add r0, r7, #0
|
|
bl MOD16_021E5B3C
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
b _021E5904
|
|
_021E58F0:
|
|
add r0, r5, #0
|
|
bl MOD16_021E5448
|
|
add r0, r5, #0
|
|
bl MOD16_021E53F8
|
|
b _021E5904
|
|
_021E58FE:
|
|
add r0, r5, #0
|
|
bl MOD16_021E5B70
|
|
_021E5904:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E58AC
|
|
|
|
thumb_func_start MOD16_021E5908
|
|
MOD16_021E5908: ; 0x021E5908
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E5B08
|
|
cmp r6, #0
|
|
bne _021E592E
|
|
ldr r1, [r4, #8]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, r7, #0
|
|
mov r3, #4
|
|
bl MOD16_021E5B80
|
|
add r0, r7, #0
|
|
bl MOD16_021E5BB8
|
|
_021E592E:
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E5988
|
|
cmp r6, #0
|
|
beq _021E5964
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r2, r1, #0
|
|
sub r2, #0x14
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E5964:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r3, r1, #0
|
|
sub r3, #0x14
|
|
bl MOD16_021D8988
|
|
_021E5988:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E5908
|
|
|
|
thumb_func_start MOD16_021E598C
|
|
MOD16_021E598C: ; 0x021E598C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bne _021E59AC
|
|
bl MOD16_021E5B9C
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E5BD4
|
|
str r0, [sp, #4]
|
|
b _021E59B2
|
|
_021E59AC:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
_021E59B2:
|
|
ldr r0, [r6, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r4]
|
|
beq _021E59CC
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #8]
|
|
b _021E59D8
|
|
_021E59CC:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
str r0, [sp, #8]
|
|
_021E59D8:
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021E59DC:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021E59EA
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #3
|
|
blt _021E59DC
|
|
_021E59EA:
|
|
cmp r1, #3
|
|
bne _021E59FE
|
|
cmp r7, #1
|
|
bne _021E59F8
|
|
add r0, r5, #0
|
|
bl MOD16_021E5B3C
|
|
_021E59F8:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E59FE:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E598C
|
|
|
|
thumb_func_start MOD16_021E5A04
|
|
MOD16_021E5A04: ; 0x021E5A04
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E5B08
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl MOD16_021D88F0
|
|
cmp r6, #0
|
|
bne _021E5A2C
|
|
ldr r1, [r4, #8]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E5B80
|
|
_021E5A2C:
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E5A86
|
|
cmp r6, #0
|
|
beq _021E5A62
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E5A62:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E5A86:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5A04
|
|
|
|
thumb_func_start MOD16_021E5A8C
|
|
MOD16_021E5A8C: ; 0x021E5A8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bne _021E5AA2
|
|
bl MOD16_021E5B9C
|
|
str r0, [sp]
|
|
b _021E5AA6
|
|
_021E5AA2:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021E5AA6:
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021E5AC0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #4]
|
|
b _021E5ACC
|
|
_021E5AC0:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
str r0, [sp, #4]
|
|
_021E5ACC:
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021E5AD0:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021E5ADE
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021E5AD0
|
|
_021E5ADE:
|
|
cmp r1, #2
|
|
bne _021E5B02
|
|
cmp r6, #1
|
|
bne _021E5AF6
|
|
add r0, r7, #0
|
|
bl MOD16_021E5B3C
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
b _021E5AFC
|
|
_021E5AF6:
|
|
add r0, r5, #0
|
|
bl MOD16_021E53F8
|
|
_021E5AFC:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E5B02:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E5A8C
|
|
|
|
thumb_func_start MOD16_021E5B08
|
|
MOD16_021E5B08: ; 0x021E5B08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
mov r6, #1
|
|
_021E5B12:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _021E5B1E
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
_021E5B1E:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021E5B12
|
|
ldr r0, [r7, #0xc]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r7, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5B08
|
|
|
|
thumb_func_start MOD16_021E5B3C
|
|
MOD16_021E5B3C: ; 0x021E5B3C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
add r6, r4, #0
|
|
_021E5B46:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _021E5B52
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
_021E5B52:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021E5B46
|
|
ldr r0, [r7, #0xc]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r7, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5B3C
|
|
|
|
thumb_func_start MOD16_021E5B70
|
|
MOD16_021E5B70: ; 0x021E5B70
|
|
mov r1, #0x5b
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #2
|
|
ldr r3, _021E5B7C ; =MOD16_021D8A8C
|
|
add r1, r0, r1
|
|
bx r3
|
|
.align 2, 0
|
|
_021E5B7C: .word MOD16_021D8A8C
|
|
thumb_func_end MOD16_021E5B70
|
|
|
|
thumb_func_start MOD16_021E5B80
|
|
MOD16_021E5B80: ; 0x021E5B80
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
str r2, [sp]
|
|
str r3, [sp, #4]
|
|
add r0, #0x34
|
|
mov r1, #0x30
|
|
add r2, r4, #0
|
|
mov r3, #0x48
|
|
bl MOD16_021D8BD8
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5B80
|
|
|
|
thumb_func_start MOD16_021E5B9C
|
|
MOD16_021E5B9C: ; 0x021E5B9C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, #0x34
|
|
bl MOD16_021D8BF4
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, #0x34]
|
|
ldr r2, [r5, #0x38]
|
|
bl MOD16_021D86F4
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E5B9C
|
|
|
|
thumb_func_start MOD16_021E5BB8
|
|
MOD16_021E5BB8: ; 0x021E5BB8
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
mov r1, #0x52
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
add r0, #0x54
|
|
mov r1, #0xac
|
|
mov r2, #0xaa
|
|
mov r3, #0x20
|
|
bl MOD16_021D8BD8
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E5BB8
|
|
|
|
thumb_func_start MOD16_021E5BD4
|
|
MOD16_021E5BD4: ; 0x021E5BD4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, #0x54
|
|
bl MOD16_021D8BF4
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, #0x54]
|
|
ldr r2, [r5, #0x58]
|
|
bl MOD16_021D7F6C
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E5BD4
|
|
|
|
thumb_func_start MOD16_021E5BF0
|
|
MOD16_021E5BF0: ; 0x021E5BF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021E5C88
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E5CC8
|
|
str r4, [r5]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E5D28
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E5C30 ; =MOD16_021E5D44
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E5C34 ; =MOD16_021E5D6C
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E5C38 ; =MOD16_021E5D7C
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E5C3C ; =MOD16_021E5D80
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E5C40 ; =MOD16_021E5E14
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E5C44 ; =MOD16_021E5ED4
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E5C30: .word MOD16_021E5D44
|
|
_021E5C34: .word MOD16_021E5D6C
|
|
_021E5C38: .word MOD16_021E5D7C
|
|
_021E5C3C: .word MOD16_021E5D80
|
|
_021E5C40: .word MOD16_021E5E14
|
|
_021E5C44: .word MOD16_021E5ED4
|
|
thumb_func_end MOD16_021E5BF0
|
|
|
|
thumb_func_start MOD16_021E5C48
|
|
MOD16_021E5C48: ; 0x021E5C48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E5D00
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E5D14
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5C48
|
|
|
|
thumb_func_start MOD16_021E5C5C
|
|
MOD16_021E5C5C: ; 0x021E5C5C
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0]
|
|
ldr r0, [r0, #4]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #1
|
|
bne _021E5C6E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E5C6E:
|
|
ldr r5, [r4, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r3, [r4, #0x10]
|
|
add r1, r5, #0
|
|
bl MOD16_021E5D2C
|
|
str r0, [r4, #0x14]
|
|
cmp r5, r0
|
|
beq _021E5C84
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5C84:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E5C5C
|
|
|
|
thumb_func_start MOD16_021E5C88
|
|
MOD16_021E5C88: ; 0x021E5C88
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E5C9A
|
|
bl ErrorHandling
|
|
_021E5C9A:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021E5CA0:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021E5CA0
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5C88
|
|
|
|
thumb_func_start MOD16_021E5CC8
|
|
MOD16_021E5CC8: ; 0x021E5CC8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E5CDA
|
|
bl ErrorHandling
|
|
_021E5CDA:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E5CC8
|
|
|
|
thumb_func_start MOD16_021E5D00
|
|
MOD16_021E5D00: ; 0x021E5D00
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E5D0A
|
|
bl ErrorHandling
|
|
_021E5D0A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5D00
|
|
|
|
thumb_func_start MOD16_021E5D14
|
|
MOD16_021E5D14: ; 0x021E5D14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E5D1E
|
|
bl ErrorHandling
|
|
_021E5D1E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5D14
|
|
|
|
thumb_func_start MOD16_021E5D28
|
|
MOD16_021E5D28: ; 0x021E5D28
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E5D28
|
|
|
|
thumb_func_start MOD16_021E5D2C
|
|
MOD16_021E5D2C: ; 0x021E5D2C
|
|
cmp r2, #0
|
|
ble _021E5D3A
|
|
add r2, r1, r2
|
|
cmp r2, r3
|
|
blt _021E5D40
|
|
mov r2, #0
|
|
b _021E5D40
|
|
_021E5D3A:
|
|
add r0, r1, r2
|
|
bpl _021E5D40
|
|
sub r2, r3, #1
|
|
_021E5D40:
|
|
add r0, r2, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E5D2C
|
|
|
|
thumb_func_start MOD16_021E5D44
|
|
MOD16_021E5D44: ; 0x021E5D44
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r5, r0, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E6648
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E6690
|
|
str r0, [r4, #0x10]
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5D44
|
|
|
|
thumb_func_start MOD16_021E5D6C
|
|
MOD16_021E5D6C: ; 0x021E5D6C
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
bne _021E5D76
|
|
mov r0, #1
|
|
bx lr
|
|
_021E5D76:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5D6C
|
|
|
|
thumb_func_start MOD16_021E5D7C
|
|
MOD16_021E5D7C: ; 0x021E5D7C
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021E5D7C
|
|
|
|
thumb_func_start MOD16_021E5D80
|
|
MOD16_021E5D80: ; 0x021E5D80
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021E5E0A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E5D9C: ; jump table
|
|
.short _021E5DA4 - _021E5D9C - 2 ; case 0
|
|
.short _021E5DCC - _021E5D9C - 2 ; case 1
|
|
.short _021E5DEA - _021E5D9C - 2 ; case 2
|
|
.short _021E5E00 - _021E5D9C - 2 ; case 3
|
|
_021E5DA4:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xd0
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0xd0
|
|
bl memset
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r7, #0xc]
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
str r0, [r5, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5E0A
|
|
_021E5DCC:
|
|
ldr r3, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E5F40
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E63B4
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5E0A
|
|
_021E5DEA:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021E6424
|
|
cmp r0, #0
|
|
beq _021E5E0A
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5E0A
|
|
_021E5E00:
|
|
ldr r0, _021E5E10 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E5E0A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E5E10: .word 0x04000050
|
|
thumb_func_end MOD16_021E5D80
|
|
|
|
thumb_func_start MOD16_021E5E14
|
|
MOD16_021E5E14: ; 0x021E5E14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021E5E30
|
|
cmp r0, #1
|
|
beq _021E5E7C
|
|
cmp r0, #2
|
|
beq _021E5E94
|
|
b _021E5EC0
|
|
_021E5E30:
|
|
add r0, r6, #0
|
|
add r0, #0xcc
|
|
ldr r1, [r7, #0x14]
|
|
ldr r0, [r0]
|
|
cmp r1, r0
|
|
beq _021E5EC4
|
|
add r0, r6, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
add r0, r6, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
add r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r6, #0
|
|
add r1, r2, r1
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E6510
|
|
add r0, r6, #0
|
|
bl MOD16_021E6E24
|
|
mov r0, #1
|
|
str r0, [r5, #4]
|
|
ldr r0, _021E5ED0 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5EC4
|
|
_021E5E7C:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E6534
|
|
cmp r0, #1
|
|
bne _021E5EC4
|
|
mov r0, #1
|
|
str r0, [r5, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5EC4
|
|
_021E5E94:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #1
|
|
bne _021E5EC4
|
|
ldr r0, [r7, #0xc]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldr r0, [r7, #0x14]
|
|
str r0, [sp, #4]
|
|
ldr r3, [r4, #4]
|
|
add r0, r6, #0
|
|
bl MOD16_021E6BA4
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E6070
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
str r0, [r5, #4]
|
|
str r0, [r4]
|
|
b _021E5EC4
|
|
_021E5EC0:
|
|
bl ErrorHandling
|
|
_021E5EC4:
|
|
add r0, r6, #0
|
|
bl MOD16_021E6E44
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E5ED0: .word 0x0000068B
|
|
thumb_func_end MOD16_021E5E14
|
|
|
|
thumb_func_start MOD16_021E5ED4
|
|
MOD16_021E5ED4: ; 0x021E5ED4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r3, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021E5F3A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E5EEE: ; jump table
|
|
.short _021E5EF8 - _021E5EEE - 2 ; case 0
|
|
.short _021E5F08 - _021E5EEE - 2 ; case 1
|
|
.short _021E5F1C - _021E5EEE - 2 ; case 2
|
|
.short _021E5F2A - _021E5EEE - 2 ; case 3
|
|
.short _021E5F36 - _021E5EEE - 2 ; case 4
|
|
_021E5EF8:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E63B4
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5F3A
|
|
_021E5F08:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E6424
|
|
cmp r0, #0
|
|
beq _021E5F3A
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5F3A
|
|
_021E5F1C:
|
|
add r1, r3, #0
|
|
bl MOD16_021E5F88
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5F3A
|
|
_021E5F2A:
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E5F3A
|
|
_021E5F36:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E5F3A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5ED4
|
|
|
|
thumb_func_start MOD16_021E5F40
|
|
MOD16_021E5F40: ; 0x021E5F40
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021E600C
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E6198
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E5FA4
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E6288
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0x14]
|
|
add r2, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, r7, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E6B30
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5F40
|
|
|
|
thumb_func_start MOD16_021E5F88
|
|
MOD16_021E5F88: ; 0x021E5F88
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E6E0C
|
|
add r0, r5, #0
|
|
bl MOD16_021E6394
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E6244
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5F88
|
|
|
|
thumb_func_start MOD16_021E5FA4
|
|
MOD16_021E5FA4: ; 0x021E5FA4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x32
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E5FA4
|
|
|
|
thumb_func_start MOD16_021E600C
|
|
MOD16_021E600C: ; 0x021E600C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r5, r1, #0
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0x14]
|
|
add r2, r4, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021E60A8
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #0x14]
|
|
ldr r3, [r4, #0x10]
|
|
mov r2, #1
|
|
bl MOD16_021E5D2C
|
|
ldr r1, [r4, #0xc]
|
|
add r2, r4, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021E60A8
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E605C:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021D8810
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021E605C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E600C
|
|
|
|
thumb_func_start MOD16_021E6070
|
|
MOD16_021E6070: ; 0x021E6070
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r6, r1, #0
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #0x14]
|
|
ldr r3, [r4, #0x10]
|
|
mov r2, #1
|
|
bl MOD16_021E5D2C
|
|
ldr r1, [r4, #0xc]
|
|
add r2, r4, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021E60A8
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6070
|
|
|
|
thumb_func_start MOD16_021E60A8
|
|
MOD16_021E60A8: ; 0x021E60A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r5, [sp, #0x30]
|
|
add r6, r0, #0
|
|
add r7, r1, #0
|
|
str r2, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r4, [sp, #0x2c]
|
|
cmp r5, #2
|
|
ble _021E60C0
|
|
bl ErrorHandling
|
|
_021E60C0:
|
|
ldr r0, [sp, #0x28]
|
|
cmp r0, #9
|
|
bhi _021E6172
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E60D2: ; jump table
|
|
.short _021E60E6 - _021E60D2 - 2 ; case 0
|
|
.short _021E60E6 - _021E60D2 - 2 ; case 1
|
|
.short _021E60E6 - _021E60D2 - 2 ; case 2
|
|
.short _021E60E6 - _021E60D2 - 2 ; case 3
|
|
.short _021E6122 - _021E60D2 - 2 ; case 4
|
|
.short _021E6136 - _021E60D2 - 2 ; case 5
|
|
.short _021E60FA - _021E60D2 - 2 ; case 6
|
|
.short _021E610E - _021E60D2 - 2 ; case 7
|
|
.short _021E614A - _021E60D2 - 2 ; case 8
|
|
.short _021E615E - _021E60D2 - 2 ; case 9
|
|
_021E60E6:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E6758
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E60FA:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E67F0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E610E:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E687C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6122:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E6908
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6136:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E6994
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E614A:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E6A20
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E615E:
|
|
ldr r2, [sp, #8]
|
|
str r4, [sp]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
str r5, [sp, #4]
|
|
bl MOD16_021E6AAC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6172:
|
|
bl ErrorHandling
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E60A8
|
|
|
|
thumb_func_start MOD16_021E617C
|
|
MOD16_021E617C: ; 0x021E617C
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021E6184:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021D8810
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021E6184
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E617C
|
|
|
|
thumb_func_start MOD16_021E6198
|
|
MOD16_021E6198: ; 0x021E6198
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E6234 ; =0x0000372A
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x7a
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x10]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x10]
|
|
bl FUN_02009474
|
|
ldr r0, _021E6238 ; =0x000036C6
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x16
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x14]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x14]
|
|
bl FUN_02009474
|
|
ldr r0, _021E623C ; =0x0000372B
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x7b
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E6240 ; =0x00003729
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x79
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x1c]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6234: .word 0x0000372A
|
|
_021E6238: .word 0x000036C6
|
|
_021E623C: .word 0x0000372B
|
|
_021E6240: .word 0x00003729
|
|
thumb_func_end MOD16_021E6198
|
|
|
|
thumb_func_start MOD16_021E6244
|
|
MOD16_021E6244: ; 0x021E6244
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x14]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x10]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x14]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x1c]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E6244
|
|
|
|
thumb_func_start MOD16_021E6288
|
|
MOD16_021E6288: ; 0x021E6288
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x7c
|
|
add r5, r3, #0
|
|
ldr r4, [r1]
|
|
ldr r3, _021E6390 ; =0x00003729
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #3
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
str r2, [sp, #0x2c]
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x58
|
|
sub r2, #0x63
|
|
add r3, r3, #2
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r4, #0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x58
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #1
|
|
str r5, [sp, #0x54]
|
|
str r0, [sp, #0x50]
|
|
str r4, [sp, #0x40]
|
|
str r4, [sp, #0x44]
|
|
add r5, r6, #0
|
|
mov r7, #0x1f
|
|
_021E62F6:
|
|
add r0, r4, #0
|
|
add r1, sp, #0x34
|
|
add r2, sp, #0x30
|
|
bl MOD16_021E6D54
|
|
ldr r0, [sp, #0x34]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [sp, #0x30]
|
|
add r0, #8
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x44]
|
|
add r0, sp, #0x38
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
lsr r1, r4, #0x1f
|
|
lsl r0, r4, #0x1f
|
|
sub r0, r0, r1
|
|
ror r0, r7
|
|
add r0, r1, r0
|
|
ldr r0, [r5]
|
|
bne _021E632C
|
|
mov r1, #0
|
|
bl FUN_02020130
|
|
b _021E6332
|
|
_021E632C:
|
|
mov r1, #2
|
|
bl FUN_02020130
|
|
_021E6332:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021E62F6
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x40]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0
|
|
str r0, [sp, #0x4c]
|
|
add r0, sp, #0x38
|
|
bl FUN_0201FF84
|
|
add r1, r6, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
add r0, r6, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
add r0, r6, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
add r0, r6, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_02020238
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bgt _021E638C
|
|
add r6, #0xbc
|
|
ldr r0, [r6]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021E638C:
|
|
add sp, #0x7c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E6390: .word 0x00003729
|
|
thumb_func_end MOD16_021E6288
|
|
|
|
thumb_func_start MOD16_021E6394
|
|
MOD16_021E6394: ; 0x021E6394
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021E639C:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021E639C
|
|
add r6, #0xbc
|
|
ldr r0, [r6]
|
|
bl FUN_0201FFC8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E6394
|
|
|
|
thumb_func_start MOD16_021E63B4
|
|
MOD16_021E63B4: ; 0x021E63B4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E6474
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E641A
|
|
cmp r6, #0
|
|
beq _021E63F6
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
b _021E641A
|
|
_021E63F6:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E641A:
|
|
add r0, r5, #0
|
|
bl MOD16_021E64F4
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E63B4
|
|
|
|
thumb_func_start MOD16_021E6424
|
|
MOD16_021E6424: ; 0x021E6424
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021E6444
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021E644E
|
|
_021E6444:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021E644E:
|
|
add r4, r0, #0
|
|
cmp r4, #1
|
|
bne _021E6468
|
|
cmp r6, #1
|
|
bne _021E6460
|
|
add r0, r7, #0
|
|
bl MOD16_021E64B4
|
|
b _021E646E
|
|
_021E6460:
|
|
add r0, r5, #0
|
|
bl MOD16_021E617C
|
|
b _021E646E
|
|
_021E6468:
|
|
add r0, r5, #0
|
|
bl MOD16_021E64F4
|
|
_021E646E:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6424
|
|
|
|
thumb_func_start MOD16_021E6474
|
|
MOD16_021E6474: ; 0x021E6474
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
mov r7, #1
|
|
_021E647E:
|
|
ldr r0, [r4]
|
|
add r1, r7, #0
|
|
bl FUN_02020398
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _021E647E
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E649E:
|
|
ldr r0, [r5, #0x20]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021E649E
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6474
|
|
|
|
thumb_func_start MOD16_021E64B4
|
|
MOD16_021E64B4: ; 0x021E64B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
add r7, r6, #0
|
|
_021E64BE:
|
|
ldr r0, [r4]
|
|
add r1, r7, #0
|
|
bl FUN_02020398
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _021E64BE
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021E64DE:
|
|
ldr r0, [r5, #0x20]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021E64DE
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E64B4
|
|
|
|
thumb_func_start MOD16_021E64F4
|
|
MOD16_021E64F4: ; 0x021E64F4
|
|
push {r4, r5, r6, lr}
|
|
mov r6, #0x5b
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
lsl r6, r6, #2
|
|
_021E64FE:
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r1, r0, r6
|
|
bl MOD16_021D8AAC
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021E64FE
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E64F4
|
|
|
|
thumb_func_start MOD16_021E6510
|
|
MOD16_021E6510: ; 0x021E6510
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r7, #0xff
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
mvn r7, r7
|
|
_021E651C:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
str r4, [sp]
|
|
bl MOD16_021E6570
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021E651C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6510
|
|
|
|
thumb_func_start MOD16_021E6534
|
|
MOD16_021E6534: ; 0x021E6534
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #0
|
|
bne _021E6544
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6544:
|
|
mov r4, #0
|
|
_021E6546:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E65D8
|
|
add r4, r4, #1
|
|
add r7, r0, #0
|
|
cmp r4, #4
|
|
blt _021E6546
|
|
mov r4, #0
|
|
_021E655A:
|
|
ldr r0, [r5, #0x20]
|
|
ldr r0, [r0]
|
|
bl FUN_02011938
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021E655A
|
|
add r0, r7, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6534
|
|
|
|
thumb_func_start MOD16_021E6570
|
|
MOD16_021E6570: ; 0x021E6570
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r6, r0, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
add r7, r1, #0
|
|
str r2, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r5, [sp, #0x38]
|
|
cmp r0, #0
|
|
bne _021E658A
|
|
add r4, r5, #0
|
|
b _021E6590
|
|
_021E658A:
|
|
sub r4, r5, #2
|
|
bpl _021E6590
|
|
add r4, r4, #4
|
|
_021E6590:
|
|
add r0, r5, #0
|
|
add r1, sp, #0x14
|
|
add r2, sp, #0x10
|
|
bl MOD16_021E6D54
|
|
ldr r0, [r7]
|
|
add r1, sp, #0x1c
|
|
add r2, sp, #0x18
|
|
add r3, r4, #0
|
|
bl MOD16_021D87E0
|
|
add r1, r6, #0
|
|
ldr r3, [sp, #0x10]
|
|
ldr r2, [sp, #0x14]
|
|
mov r0, #0x10
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r4, [sp, #0xc]
|
|
add r1, #0x28
|
|
lsl r0, r5, #5
|
|
add r0, r1, r0
|
|
ldr r1, [sp, #8]
|
|
add r3, r3, r4
|
|
add r1, r2, r1
|
|
bl MOD16_021D8BD8
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
sub r1, r1, r0
|
|
lsl r0, r5, #2
|
|
add r0, r6, r0
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6570
|
|
|
|
thumb_func_start MOD16_021E65D8
|
|
MOD16_021E65D8: ; 0x021E65D8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r6, r0, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
add r4, r2, #0
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
cmp r0, #0
|
|
beq _021E65F2
|
|
sub r4, r4, #2
|
|
bpl _021E65F2
|
|
add r4, r4, #4
|
|
_021E65F2:
|
|
ldr r0, [sp, #4]
|
|
add r7, r6, #0
|
|
lsl r5, r0, #5
|
|
add r7, #0x28
|
|
add r0, r7, r5
|
|
bl MOD16_021D8BF4
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, #0x2c
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [sp]
|
|
ldr r3, [r2, r5]
|
|
ldr r2, [sp, #4]
|
|
ldr r0, [r0]
|
|
lsl r2, r2, #2
|
|
add r2, r6, r2
|
|
add r2, #0xa8
|
|
ldr r2, [r2]
|
|
ldr r1, [r7, r5]
|
|
add r2, r3, r2
|
|
add r3, r4, #0
|
|
bl MOD16_021D87BC
|
|
ldr r0, [r7, r5]
|
|
add r1, sp, #0x10
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r0, [r0, r5]
|
|
add r0, #8
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x14]
|
|
lsl r0, r4, #2
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02020044
|
|
ldr r0, [sp, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E65D8
|
|
|
|
thumb_func_start MOD16_021E6648
|
|
MOD16_021E6648: ; 0x021E6648
|
|
push {r3, lr}
|
|
mov r3, #0x67
|
|
lsl r3, r3, #2
|
|
cmp r0, r3
|
|
bne _021E6656
|
|
mov r0, #6
|
|
pop {r3, pc}
|
|
_021E6656:
|
|
add r2, r3, #1
|
|
cmp r0, r2
|
|
bne _021E6660
|
|
mov r0, #7
|
|
pop {r3, pc}
|
|
_021E6660:
|
|
add r2, r3, #0
|
|
add r2, #0xa
|
|
cmp r0, r2
|
|
bne _021E666C
|
|
mov r0, #4
|
|
pop {r3, pc}
|
|
_021E666C:
|
|
add r2, r3, #0
|
|
add r2, #0xb
|
|
cmp r0, r2
|
|
bne _021E6678
|
|
mov r0, #5
|
|
pop {r3, pc}
|
|
_021E6678:
|
|
cmp r0, #0xc9
|
|
bne _021E6680
|
|
mov r0, #8
|
|
pop {r3, pc}
|
|
_021E6680:
|
|
sub r3, #0x1a
|
|
cmp r0, r3
|
|
bne _021E668A
|
|
mov r0, #9
|
|
pop {r3, pc}
|
|
_021E668A:
|
|
bl MOD16_021E66F4
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E6648
|
|
|
|
thumb_func_start MOD16_021E6690
|
|
MOD16_021E6690: ; 0x021E6690
|
|
push {r3, lr}
|
|
mov r2, #0x67
|
|
add r3, r0, #0
|
|
lsl r2, r2, #2
|
|
cmp r3, r2
|
|
bne _021E66A4
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D9A18
|
|
pop {r3, pc}
|
|
_021E66A4:
|
|
add r0, r2, #1
|
|
cmp r3, r0
|
|
bne _021E66B2
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D9A24
|
|
pop {r3, pc}
|
|
_021E66B2:
|
|
add r0, r2, #0
|
|
add r0, #0xa
|
|
cmp r3, r0
|
|
bne _021E66C2
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D9A00
|
|
pop {r3, pc}
|
|
_021E66C2:
|
|
add r0, r2, #0
|
|
add r0, #0xb
|
|
cmp r3, r0
|
|
bne _021E66D2
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D9A0C
|
|
pop {r3, pc}
|
|
_021E66D2:
|
|
cmp r3, #0xc9
|
|
bne _021E66DE
|
|
ldr r0, [r1, #4]
|
|
bl MOD16_021D99F4
|
|
pop {r3, pc}
|
|
_021E66DE:
|
|
sub r2, #0x1a
|
|
cmp r3, r2
|
|
ldr r0, [r1, #4]
|
|
bne _021E66EC
|
|
bl MOD16_021D9A48
|
|
pop {r3, pc}
|
|
_021E66EC:
|
|
add r1, r3, #0
|
|
bl MOD16_021D99DC
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E6690
|
|
|
|
thumb_func_start MOD16_021E66F4
|
|
MOD16_021E66F4: ; 0x021E66F4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0x12
|
|
add r5, r0, #0
|
|
bl FUN_02068678
|
|
cmp r0, #0
|
|
bne _021E6708
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6708:
|
|
cmp r0, #0xfe
|
|
bne _021E6710
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E6710:
|
|
cmp r0, #0xff
|
|
bne _021E6718
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_021E6718:
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
bl MOD16_021D99DC
|
|
cmp r0, #1
|
|
bne _021E6754
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl MOD16_021D98DC
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _021E673C
|
|
bl ErrorHandling
|
|
_021E673C:
|
|
cmp r4, #0
|
|
bne _021E6744
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6744:
|
|
cmp r4, #0xfe
|
|
bne _021E674C
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E674C:
|
|
cmp r4, #0xff
|
|
bne _021E6754
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_021E6754:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E66F4
|
|
|
|
thumb_func_start MOD16_021E6758
|
|
MOD16_021E6758: ; 0x021E6758
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
ldr r4, [sp, #0x34]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x18
|
|
add r2, sp, #0x14
|
|
str r3, [sp, #0x10]
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E677E
|
|
add r0, r4, #0
|
|
b _021E6784
|
|
_021E677E:
|
|
sub r0, r4, #2
|
|
bpl _021E6784
|
|
add r0, r0, #4
|
|
_021E6784:
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x10]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x14]
|
|
mov r3, #2
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x30]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
bl MOD16_021D8070
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E67AA
|
|
bl ErrorHandling
|
|
_021E67AA:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x18
|
|
add r2, sp, #0x14
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r1, [r5]
|
|
add r0, r4, #1
|
|
cmp r1, #0
|
|
beq _021E67C4
|
|
sub r0, r0, #2
|
|
bpl _021E67C4
|
|
add r0, r0, #4
|
|
_021E67C4:
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x10]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x14]
|
|
mov r3, #0
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x30]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
bl MOD16_021D8070
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E67EA
|
|
bl ErrorHandling
|
|
_021E67EA:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6758
|
|
|
|
thumb_func_start MOD16_021E67F0
|
|
MOD16_021E67F0: ; 0x021E67F0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x2c]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E6814
|
|
add r1, r4, #0
|
|
b _021E681A
|
|
_021E6814:
|
|
sub r1, r4, #2
|
|
bpl _021E681A
|
|
add r1, r1, #4
|
|
_021E681A:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D81A0
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E683C
|
|
bl ErrorHandling
|
|
_021E683C:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
add r1, r4, #1
|
|
cmp r0, #0
|
|
beq _021E6856
|
|
sub r1, r1, #2
|
|
bpl _021E6856
|
|
add r1, r1, #4
|
|
_021E6856:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D81A0
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6878
|
|
bl ErrorHandling
|
|
_021E6878:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E67F0
|
|
|
|
thumb_func_start MOD16_021E687C
|
|
MOD16_021E687C: ; 0x021E687C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x2c]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E68A0
|
|
add r1, r4, #0
|
|
b _021E68A6
|
|
_021E68A0:
|
|
sub r1, r4, #2
|
|
bpl _021E68A6
|
|
add r1, r1, #4
|
|
_021E68A6:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D81E4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E68C8
|
|
bl ErrorHandling
|
|
_021E68C8:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
add r1, r4, #1
|
|
cmp r0, #0
|
|
beq _021E68E2
|
|
sub r1, r1, #2
|
|
bpl _021E68E2
|
|
add r1, r1, #4
|
|
_021E68E2:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D81E4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6904
|
|
bl ErrorHandling
|
|
_021E6904:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E687C
|
|
|
|
thumb_func_start MOD16_021E6908
|
|
MOD16_021E6908: ; 0x021E6908
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x2c]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E692C
|
|
add r1, r4, #0
|
|
b _021E6932
|
|
_021E692C:
|
|
sub r1, r4, #2
|
|
bpl _021E6932
|
|
add r1, r1, #4
|
|
_021E6932:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D8110
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6954
|
|
bl ErrorHandling
|
|
_021E6954:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
add r1, r4, #1
|
|
cmp r0, #0
|
|
beq _021E696E
|
|
sub r1, r1, #2
|
|
bpl _021E696E
|
|
add r1, r1, #4
|
|
_021E696E:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D8110
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6990
|
|
bl ErrorHandling
|
|
_021E6990:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6908
|
|
|
|
thumb_func_start MOD16_021E6994
|
|
MOD16_021E6994: ; 0x021E6994
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x2c]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E69B8
|
|
add r1, r4, #0
|
|
b _021E69BE
|
|
_021E69B8:
|
|
sub r1, r4, #2
|
|
bpl _021E69BE
|
|
add r1, r1, #4
|
|
_021E69BE:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D8158
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E69E0
|
|
bl ErrorHandling
|
|
_021E69E0:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
add r1, r4, #1
|
|
cmp r0, #0
|
|
beq _021E69FA
|
|
sub r1, r1, #2
|
|
bpl _021E69FA
|
|
add r1, r1, #4
|
|
_021E69FA:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D8158
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6A1C
|
|
bl ErrorHandling
|
|
_021E6A1C:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6994
|
|
|
|
thumb_func_start MOD16_021E6A20
|
|
MOD16_021E6A20: ; 0x021E6A20
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x2c]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E6A44
|
|
add r1, r4, #0
|
|
b _021E6A4A
|
|
_021E6A44:
|
|
sub r1, r4, #2
|
|
bpl _021E6A4A
|
|
add r1, r1, #4
|
|
_021E6A4A:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D80CC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6A6C
|
|
bl ErrorHandling
|
|
_021E6A6C:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
add r1, r4, #1
|
|
cmp r0, #0
|
|
beq _021E6A86
|
|
sub r1, r1, #2
|
|
bpl _021E6A86
|
|
add r1, r1, #4
|
|
_021E6A86:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D80CC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E6AA8
|
|
bl ErrorHandling
|
|
_021E6AA8:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6A20
|
|
|
|
thumb_func_start MOD16_021E6AAC
|
|
MOD16_021E6AAC: ; 0x021E6AAC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r4, [sp, #0x2c]
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E6AD0
|
|
add r1, r4, #0
|
|
b _021E6AD6
|
|
_021E6AD0:
|
|
sub r1, r4, #2
|
|
bpl _021E6AD6
|
|
add r1, r1, #4
|
|
_021E6AD6:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D822C
|
|
cmp r0, #0xf
|
|
bne _021E6AF4
|
|
bl ErrorHandling
|
|
_021E6AF4:
|
|
add r0, r4, #1
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
bl MOD16_021E6D54
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
add r1, r4, #1
|
|
cmp r0, #0
|
|
beq _021E6B0E
|
|
sub r1, r1, #2
|
|
bpl _021E6B0E
|
|
add r1, r1, #4
|
|
_021E6B0E:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r1, [r7, #4]
|
|
ldr r3, [sp, #0x10]
|
|
bl MOD16_021D822C
|
|
cmp r0, #0xf
|
|
bne _021E6B2C
|
|
bl ErrorHandling
|
|
_021E6B2C:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6AAC
|
|
|
|
thumb_func_start MOD16_021E6B30
|
|
MOD16_021E6B30: ; 0x021E6B30
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
ldr r1, [r1]
|
|
add r4, r2, #0
|
|
add r7, r3, #0
|
|
mov r0, #0
|
|
cmp r1, #0
|
|
beq _021E6B4E
|
|
sub r0, r0, #2
|
|
bpl _021E6B4E
|
|
add r0, r0, #4
|
|
_021E6B4E:
|
|
ldr r1, [sp, #0x28]
|
|
add r2, r4, #0
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x2c]
|
|
add r3, r7, #0
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E6C04
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r3, [r4, #0x10]
|
|
mov r2, #1
|
|
bl MOD16_021E5D2C
|
|
add r2, r5, #0
|
|
add r2, #0xb8
|
|
ldr r2, [r2]
|
|
mov r1, #2
|
|
cmp r2, #0
|
|
beq _021E6B86
|
|
sub r1, r1, #2
|
|
bpl _021E6B86
|
|
add r1, r1, #4
|
|
_021E6B86:
|
|
ldr r2, [sp, #0x28]
|
|
add r3, r7, #0
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E6C04
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6B30
|
|
|
|
thumb_func_start MOD16_021E6BA4
|
|
MOD16_021E6BA4: ; 0x021E6BA4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [sp, #0x34]
|
|
ldr r3, [r6, #0x10]
|
|
mov r2, #1
|
|
bl MOD16_021E5D2C
|
|
str r0, [sp, #0x18]
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
cmp r0, #0
|
|
beq _021E6BD0
|
|
sub r4, r4, #2
|
|
bpl _021E6BD0
|
|
add r4, r4, #4
|
|
_021E6BD0:
|
|
add r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r7, r2, r1
|
|
lsl r0, r7, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x20]
|
|
bl MOD16_021DB338
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [sp, #0x14]
|
|
str r0, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
str r7, [sp, #0xc]
|
|
bl MOD16_021E6C04
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6BA4
|
|
|
|
thumb_func_start MOD16_021E6C04
|
|
MOD16_021E6C04: ; 0x021E6C04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x60]
|
|
add r6, r1, #0
|
|
lsl r7, r0, #2
|
|
ldr r0, [r4, r7]
|
|
str r2, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r5, [r6]
|
|
cmp r0, #0
|
|
bne _021E6C20
|
|
bl ErrorHandling
|
|
_021E6C20:
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0x58]
|
|
ldr r3, [sp, #0x5c]
|
|
add r0, r6, #0
|
|
bl MOD16_021E6D94
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x14]
|
|
bl FUN_02009E54
|
|
mov r1, #0x28
|
|
str r1, [sp, #0x2c]
|
|
mov r1, #3
|
|
str r1, [sp, #0x30]
|
|
mov r1, #0
|
|
ldr r2, [sp, #0xc]
|
|
str r1, [sp, #0x34]
|
|
mov r1, #1
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x38]
|
|
str r2, [sp, #0x3c]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
ldr r2, _021E6CB0 ; =0x00000266
|
|
ldr r3, [sp, #0x10]
|
|
add r1, r6, #0
|
|
bl MOD16_021DB3C8
|
|
lsr r0, r0, #1
|
|
neg r0, r0
|
|
str r6, [sp, #0x1c]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [r4, r7]
|
|
add r4, #0x20
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x64]
|
|
lsl r5, r0, #2
|
|
add r0, sp, #0x18
|
|
bl MOD16_021DB2BC
|
|
str r0, [r4, r5]
|
|
ldr r0, [r4, r5]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0]
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6CB0: .word 0x00000266
|
|
thumb_func_end MOD16_021E6C04
|
|
|
|
thumb_func_start MOD16_021E6CB4
|
|
MOD16_021E6CB4: ; 0x021E6CB4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r0, [r5, #4]
|
|
add r6, r2, #0
|
|
bl MOD16_021D9DE8
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r2, r6, #0
|
|
bl MOD16_021D98DC
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _021E6CD8
|
|
bl ErrorHandling
|
|
_021E6CD8:
|
|
cmp r5, #0
|
|
beq _021E6CE2
|
|
cmp r5, #1
|
|
beq _021E6CE6
|
|
b _021E6CEA
|
|
_021E6CE2:
|
|
mov r4, #0xd
|
|
b _021E6CEE
|
|
_021E6CE6:
|
|
mov r4, #0xe
|
|
b _021E6CEE
|
|
_021E6CEA:
|
|
bl ErrorHandling
|
|
_021E6CEE:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6CB4
|
|
|
|
thumb_func_start MOD16_021E6CF4
|
|
MOD16_021E6CF4: ; 0x021E6CF4
|
|
mov r0, #0xd
|
|
bx lr
|
|
thumb_func_end MOD16_021E6CF4
|
|
|
|
thumb_func_start MOD16_021E6CF8
|
|
MOD16_021E6CF8: ; 0x021E6CF8
|
|
mov r0, #0xe
|
|
bx lr
|
|
thumb_func_end MOD16_021E6CF8
|
|
|
|
thumb_func_start MOD16_021E6CFC
|
|
MOD16_021E6CFC: ; 0x021E6CFC
|
|
mov r0, #0x15
|
|
bx lr
|
|
thumb_func_end MOD16_021E6CFC
|
|
|
|
thumb_func_start MOD16_021E6D00
|
|
MOD16_021E6D00: ; 0x021E6D00
|
|
push {r3, lr}
|
|
ldr r0, [r1, #4]
|
|
add r1, r2, #0
|
|
bl MOD16_021D9934
|
|
add r0, #0x11
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6D00
|
|
|
|
thumb_func_start MOD16_021E6D10
|
|
MOD16_021E6D10: ; 0x021E6D10
|
|
push {r3, lr}
|
|
ldr r0, [r1, #4]
|
|
add r1, r2, #0
|
|
bl MOD16_021D994C
|
|
add r0, #0x11
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6D10
|
|
|
|
thumb_func_start MOD16_021E6D20
|
|
MOD16_021E6D20: ; 0x021E6D20
|
|
push {r3, lr}
|
|
ldr r0, [r1, #4]
|
|
add r1, r2, #0
|
|
bl MOD16_021D9904
|
|
add r0, #0xf
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6D20
|
|
|
|
thumb_func_start MOD16_021E6D30
|
|
MOD16_021E6D30: ; 0x021E6D30
|
|
push {r3, lr}
|
|
ldr r0, [r1, #4]
|
|
add r1, r2, #0
|
|
bl MOD16_021D991C
|
|
add r0, #0xf
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6D30
|
|
|
|
thumb_func_start MOD16_021E6D40
|
|
MOD16_021E6D40: ; 0x021E6D40
|
|
mov r0, #0x14
|
|
bx lr
|
|
thumb_func_end MOD16_021E6D40
|
|
|
|
thumb_func_start MOD16_021E6D44
|
|
MOD16_021E6D44: ; 0x021E6D44
|
|
push {r3, lr}
|
|
ldr r0, [r1, #4]
|
|
add r1, r2, #0
|
|
bl MOD16_021D9A3C
|
|
add r0, #0x6e
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6D44
|
|
|
|
thumb_func_start MOD16_021E6D54
|
|
MOD16_021E6D54: ; 0x021E6D54
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r5, r4, #0
|
|
cmp r0, #3
|
|
bhi _021E6D8A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E6D6E: ; jump table
|
|
.short _021E6D78 - _021E6D6E - 2 ; case 0
|
|
.short _021E6D76 - _021E6D6E - 2 ; case 1
|
|
.short _021E6D80 - _021E6D6E - 2 ; case 2
|
|
.short _021E6D7E - _021E6D6E - 2 ; case 3
|
|
_021E6D76:
|
|
mov r4, #0x70
|
|
_021E6D78:
|
|
add r4, #0x48
|
|
mov r5, #0x58
|
|
b _021E6D8E
|
|
_021E6D7E:
|
|
mov r4, #0x70
|
|
_021E6D80:
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
add r4, r4, r0
|
|
mov r5, #0x58
|
|
b _021E6D8E
|
|
_021E6D8A:
|
|
bl ErrorHandling
|
|
_021E6D8E:
|
|
str r4, [r6]
|
|
str r5, [r7]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E6D54
|
|
|
|
thumb_func_start MOD16_021E6D94
|
|
MOD16_021E6D94: ; 0x021E6D94
|
|
push {r3, lr}
|
|
cmp r2, #9
|
|
bhi _021E6E08
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E6DA6: ; jump table
|
|
.short _021E6DBA - _021E6DA6 - 2 ; case 0
|
|
.short _021E6DC2 - _021E6DA6 - 2 ; case 1
|
|
.short _021E6DCA - _021E6DA6 - 2 ; case 2
|
|
.short _021E6DD2 - _021E6DA6 - 2 ; case 3
|
|
.short _021E6DEA - _021E6DA6 - 2 ; case 4
|
|
.short _021E6DF2 - _021E6DA6 - 2 ; case 5
|
|
.short _021E6DDA - _021E6DA6 - 2 ; case 6
|
|
.short _021E6DE2 - _021E6DA6 - 2 ; case 7
|
|
.short _021E6DFA - _021E6DA6 - 2 ; case 8
|
|
.short _021E6E02 - _021E6DA6 - 2 ; case 9
|
|
_021E6DBA:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6CB4
|
|
pop {r3, pc}
|
|
_021E6DC2:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6CF4
|
|
pop {r3, pc}
|
|
_021E6DCA:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6CF8
|
|
pop {r3, pc}
|
|
_021E6DD2:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6CFC
|
|
pop {r3, pc}
|
|
_021E6DDA:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6D00
|
|
pop {r3, pc}
|
|
_021E6DE2:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6D10
|
|
pop {r3, pc}
|
|
_021E6DEA:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6D20
|
|
pop {r3, pc}
|
|
_021E6DF2:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6D30
|
|
pop {r3, pc}
|
|
_021E6DFA:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6D40
|
|
pop {r3, pc}
|
|
_021E6E02:
|
|
add r2, r3, #0
|
|
bl MOD16_021E6D44
|
|
_021E6E08:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6D94
|
|
|
|
thumb_func_start MOD16_021E6E0C
|
|
MOD16_021E6E0C: ; 0x021E6E0C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E6E12:
|
|
ldr r0, [r5, #0x20]
|
|
bl MOD16_021DB338
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021E6E12
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6E0C
|
|
|
|
thumb_func_start MOD16_021E6E24
|
|
MOD16_021E6E24: ; 0x021E6E24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add r0, r4, #0
|
|
mov r1, #0x18
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
add r4, #0xc4
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6E24
|
|
|
|
thumb_func_start MOD16_021E6E44
|
|
MOD16_021E6E44: ; 0x021E6E44
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E6E7A
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
sub r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bgt _021E6E7A
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
mov r0, #0
|
|
add r4, #0xc4
|
|
str r0, [r4]
|
|
_021E6E7A:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E6E44
|
|
|
|
thumb_func_start MOD16_021E6E7C
|
|
MOD16_021E6E7C: ; 0x021E6E7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021E6F18
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E6F54
|
|
str r4, [r5]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E6FA4
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E6EBC ; =MOD16_021E6FA8
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E6EC0 ; =MOD16_021E6FAC
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E6EC4 ; =MOD16_021E6FBC
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E6EC8 ; =MOD16_021E6FC0
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E6ECC ; =MOD16_021E70A0
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E6ED0 ; =MOD16_021E70A4
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E6EBC: .word MOD16_021E6FA8
|
|
_021E6EC0: .word MOD16_021E6FAC
|
|
_021E6EC4: .word MOD16_021E6FBC
|
|
_021E6EC8: .word MOD16_021E6FC0
|
|
_021E6ECC: .word MOD16_021E70A0
|
|
_021E6ED0: .word MOD16_021E70A4
|
|
thumb_func_end MOD16_021E6E7C
|
|
|
|
thumb_func_start MOD16_021E6ED4
|
|
MOD16_021E6ED4: ; 0x021E6ED4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E6F7C
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E6F90
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6ED4
|
|
|
|
thumb_func_start MOD16_021E6EE8
|
|
MOD16_021E6EE8: ; 0x021E6EE8
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
str r2, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end MOD16_021E6EE8
|
|
|
|
thumb_func_start MOD16_021E6EF0
|
|
MOD16_021E6EF0: ; 0x021E6EF0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6EF0
|
|
|
|
thumb_func_start MOD16_021E6EF8
|
|
MOD16_021E6EF8: ; 0x021E6EF8
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E6EF8
|
|
|
|
thumb_func_start MOD16_021E6EFC
|
|
MOD16_021E6EFC: ; 0x021E6EFC
|
|
ldr r2, [r0]
|
|
mov r0, #1
|
|
cmp r1, #1
|
|
bne _021E6F08
|
|
mov r1, #0
|
|
add r0, r1, #0
|
|
_021E6F08:
|
|
str r1, [r2, #0x1c]
|
|
bx lr
|
|
thumb_func_end MOD16_021E6EFC
|
|
|
|
thumb_func_start MOD16_021E6F0C
|
|
MOD16_021E6F0C: ; 0x021E6F0C
|
|
ldr r2, [r0]
|
|
mov r0, #0
|
|
str r1, [r2, #0x18]
|
|
str r0, [r2, #0x1c]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6F0C
|
|
|
|
thumb_func_start MOD16_021E6F18
|
|
MOD16_021E6F18: ; 0x021E6F18
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x20
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E6F2A
|
|
bl ErrorHandling
|
|
_021E6F2A:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6F18
|
|
|
|
thumb_func_start MOD16_021E6F54
|
|
MOD16_021E6F54: ; 0x021E6F54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E6F66
|
|
bl ErrorHandling
|
|
_021E6F66:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E6F54
|
|
|
|
thumb_func_start MOD16_021E6F7C
|
|
MOD16_021E6F7C: ; 0x021E6F7C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E6F86
|
|
bl ErrorHandling
|
|
_021E6F86:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6F7C
|
|
|
|
thumb_func_start MOD16_021E6F90
|
|
MOD16_021E6F90: ; 0x021E6F90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E6F9A
|
|
bl ErrorHandling
|
|
_021E6F9A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6F90
|
|
|
|
thumb_func_start MOD16_021E6FA4
|
|
MOD16_021E6FA4: ; 0x021E6FA4
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E6FA4
|
|
|
|
thumb_func_start MOD16_021E6FA8
|
|
MOD16_021E6FA8: ; 0x021E6FA8
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021E6FA8
|
|
|
|
thumb_func_start MOD16_021E6FAC
|
|
MOD16_021E6FAC: ; 0x021E6FAC
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
bne _021E6FB6
|
|
mov r0, #1
|
|
bx lr
|
|
_021E6FB6:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E6FAC
|
|
|
|
thumb_func_start MOD16_021E6FBC
|
|
MOD16_021E6FBC: ; 0x021E6FBC
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021E6FBC
|
|
|
|
thumb_func_start MOD16_021E6FC0
|
|
MOD16_021E6FC0: ; 0x021E6FC0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021E7096
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E6FDC: ; jump table
|
|
.short _021E6FE4 - _021E6FDC - 2 ; case 0
|
|
.short _021E6FFE - _021E6FDC - 2 ; case 1
|
|
.short _021E7048 - _021E6FDC - 2 ; case 2
|
|
.short _021E708C - _021E6FDC - 2 ; case 3
|
|
_021E6FE4:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x58
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x58
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7096
|
|
_021E6FFE:
|
|
ldr r3, [r4, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E7160
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _021E7018
|
|
cmp r0, #1
|
|
beq _021E7026
|
|
cmp r0, #2
|
|
beq _021E7034
|
|
b _021E7040
|
|
_021E7018:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E77C0
|
|
b _021E7040
|
|
_021E7026:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E76E8
|
|
b _021E7040
|
|
_021E7034:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E78BC
|
|
_021E7040:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7096
|
|
_021E7048:
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _021E7058
|
|
cmp r0, #1
|
|
beq _021E7066
|
|
cmp r0, #2
|
|
beq _021E7074
|
|
b _021E7080
|
|
_021E7058:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021E7844
|
|
add r1, r0, #0
|
|
b _021E7080
|
|
_021E7066:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021E7764
|
|
add r1, r0, #0
|
|
b _021E7080
|
|
_021E7074:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021E7944
|
|
add r1, r0, #0
|
|
_021E7080:
|
|
cmp r1, #0
|
|
beq _021E7096
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7096
|
|
_021E708C:
|
|
ldr r0, _021E709C ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7096:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E709C: .word 0x04000050
|
|
thumb_func_end MOD16_021E6FC0
|
|
|
|
thumb_func_start MOD16_021E70A0
|
|
MOD16_021E70A0: ; 0x021E70A0
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E70A0
|
|
|
|
thumb_func_start MOD16_021E70A4
|
|
MOD16_021E70A4: ; 0x021E70A4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r5, [r4]
|
|
add r3, r0, #0
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r5, #4
|
|
bhi _021E715A
|
|
add r5, r5, r5
|
|
add r5, pc
|
|
ldrh r5, [r5, #6]
|
|
lsl r5, r5, #0x10
|
|
asr r5, r5, #0x10
|
|
add pc, r5
|
|
_021E70C0: ; jump table
|
|
.short _021E70CA - _021E70C0 - 2 ; case 0
|
|
.short _021E70FE - _021E70C0 - 2 ; case 1
|
|
.short _021E713C - _021E70C0 - 2 ; case 2
|
|
.short _021E714A - _021E70C0 - 2 ; case 3
|
|
.short _021E7156 - _021E70C0 - 2 ; case 4
|
|
_021E70CA:
|
|
ldr r1, [r1, #0x14]
|
|
cmp r1, #0
|
|
beq _021E70DA
|
|
cmp r1, #1
|
|
beq _021E70E4
|
|
cmp r1, #2
|
|
beq _021E70EE
|
|
b _021E70F6
|
|
_021E70DA:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E77C0
|
|
b _021E70F6
|
|
_021E70E4:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E76E8
|
|
b _021E70F6
|
|
_021E70EE:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E78BC
|
|
_021E70F6:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E715A
|
|
_021E70FE:
|
|
ldr r1, [r1, #0x14]
|
|
cmp r1, #0
|
|
beq _021E710E
|
|
cmp r1, #1
|
|
beq _021E711A
|
|
cmp r1, #2
|
|
beq _021E7126
|
|
b _021E7130
|
|
_021E710E:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E7844
|
|
add r2, r0, #0
|
|
b _021E7130
|
|
_021E711A:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E7764
|
|
add r2, r0, #0
|
|
b _021E7130
|
|
_021E7126:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021E7944
|
|
add r2, r0, #0
|
|
_021E7130:
|
|
cmp r2, #0
|
|
beq _021E715A
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E715A
|
|
_021E713C:
|
|
add r1, r3, #0
|
|
bl MOD16_021E71A8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E715A
|
|
_021E714A:
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E715A
|
|
_021E7156:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E715A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E70A4
|
|
|
|
thumb_func_start MOD16_021E7160
|
|
MOD16_021E7160: ; 0x021E7160
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E73F0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E743C
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E7490
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021E7580
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E71D0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E72E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7160
|
|
|
|
thumb_func_start MOD16_021E71A8
|
|
MOD16_021E71A8: ; 0x021E71A8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl MOD16_021E76D0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E753C
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E71A8
|
|
|
|
thumb_func_start MOD16_021E71D0
|
|
MOD16_021E71D0: ; 0x021E71D0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x32
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x33
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r3, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x37
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r6, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x38
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r4, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0xe
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E71D0
|
|
|
|
thumb_func_start MOD16_021E72E4
|
|
MOD16_021E72E4: ; 0x021E72E4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x40
|
|
add r1, r2, #0
|
|
bl FUN_020219F4
|
|
str r0, [sp, #0x18]
|
|
ldr r2, _021E7394 ; =0x00000266
|
|
ldr r3, [sp, #0x10]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
bl FUN_0200A86C
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DF8
|
|
cmp r0, #2
|
|
beq _021E731E
|
|
mov r7, #0
|
|
bl ErrorHandling
|
|
_021E731E:
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021E7A70
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x18]
|
|
bl FUN_0200A8E0
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #0x48
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
lsr r6, r3, #0x1f
|
|
add r6, r3, r6
|
|
ldr r0, _021E7398 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r2, [sp, #0x18]
|
|
asr r6, r6, #1
|
|
mov r3, #0xb8
|
|
add r0, r0, #4
|
|
sub r3, r3, r6
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_0200A8B8
|
|
ldr r0, [r4, #0x1c]
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [sp]
|
|
ldr r3, [r4, #0x18]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E739C
|
|
ldr r1, [sp, #0x10]
|
|
ldr r3, [r4, #0x18]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E7AB4
|
|
ldr r1, [sp, #0x10]
|
|
ldr r3, [r4, #0x18]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E7AF0
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E7394: .word 0x00000266
|
|
_021E7398: .word 0x00020100
|
|
thumb_func_end MOD16_021E72E4
|
|
|
|
thumb_func_start MOD16_021E739C
|
|
MOD16_021E739C: ; 0x021E739C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r2, #0
|
|
add r1, r3, #0
|
|
ldr r2, [sp, #0x20]
|
|
add r3, r4, #0
|
|
bl MOD16_021DBC48
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002F08
|
|
cmp r0, #0xf0
|
|
bhs _021E73C8
|
|
lsr r1, r0, #1
|
|
mov r0, #0x80
|
|
sub r3, r0, r1
|
|
b _021E73CA
|
|
_021E73C8:
|
|
mov r3, #8
|
|
_021E73CA:
|
|
mov r0, #0x88
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021E73EC ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl MOD16_021DBBAC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E73EC: .word 0x00020100
|
|
thumb_func_end MOD16_021E739C
|
|
|
|
thumb_func_start MOD16_021E73F0
|
|
MOD16_021E73F0: ; 0x021E73F0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r6, r2, #0
|
|
bl MOD16_021D9D88
|
|
add r3, r0, #0
|
|
mov r0, #0x2b
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
add r2, r6, #0
|
|
bl MOD16_021D7E9C
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D891C
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E73F0
|
|
|
|
thumb_func_start MOD16_021E7424
|
|
MOD16_021E7424: ; 0x021E7424
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl MOD16_021D8950
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7424
|
|
|
|
thumb_func_start MOD16_021E743C
|
|
MOD16_021E743C: ; 0x021E743C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl MOD16_021D8700
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r2, r0, #0
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
mov r0, #0x48
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
mov r3, #2
|
|
bl MOD16_021D7FB4
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_02007558
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E743C
|
|
|
|
thumb_func_start MOD16_021E7474
|
|
MOD16_021E7474: ; 0x021E7474
|
|
push {r4, lr}
|
|
ldr r0, [r0]
|
|
bl MOD16_021D8700
|
|
add r4, r0, #0
|
|
mov r1, #6
|
|
mov r2, #1
|
|
bl FUN_02007558
|
|
add r0, r4, #0
|
|
bl FUN_02007EEC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7474
|
|
|
|
thumb_func_start MOD16_021E7490
|
|
MOD16_021E7490: ; 0x021E7490
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E752C ; =0x00000FFA
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x5a
|
|
bl FUN_020091E0
|
|
str r0, [r5, #8]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #8]
|
|
bl FUN_02009474
|
|
ldr r0, _021E7530 ; =0x00000FAD
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xd
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0xc]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0xc]
|
|
bl FUN_02009474
|
|
ldr r0, _021E7534 ; =0x00000FF8
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x58
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E7538 ; =0x00000FF9
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x59
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x14]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E752C: .word 0x00000FFA
|
|
_021E7530: .word 0x00000FAD
|
|
_021E7534: .word 0x00000FF8
|
|
_021E7538: .word 0x00000FF9
|
|
thumb_func_end MOD16_021E7490
|
|
|
|
thumb_func_start MOD16_021E753C
|
|
MOD16_021E753C: ; 0x021E753C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0xc]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #8]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0xc]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x10]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x14]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E753C
|
|
|
|
thumb_func_start MOD16_021E7580
|
|
MOD16_021E7580: ; 0x021E7580
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0xa0
|
|
add r6, r0, #0
|
|
add r0, r2, #0
|
|
add r5, r1, #0
|
|
ldr r0, [r0, #4]
|
|
str r2, [sp, #0x2c]
|
|
add r7, r3, #0
|
|
ldr r4, [r5]
|
|
bl MOD16_021D9DE8
|
|
ldr r3, _021E7670 ; =0x00000FF9
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #5
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x7c
|
|
sub r2, #0x4c
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x5c]
|
|
add r0, sp, #0x7c
|
|
str r0, [sp, #0x60]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x70]
|
|
mov r0, #1
|
|
str r0, [sp, #0x74]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x64]
|
|
mov r0, #0xd
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x68]
|
|
add r0, sp, #0x5c
|
|
str r7, [sp, #0x78]
|
|
bl FUN_0201FF84
|
|
mov r1, #0x11
|
|
str r0, [r6]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r0, [r0, #4]
|
|
bl MOD16_021D9DF8
|
|
cmp r0, #2
|
|
beq _021E7618
|
|
mov r0, #0
|
|
str r0, [sp, #0x30]
|
|
_021E7618:
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E7674
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl MOD16_021D88D4
|
|
mov r1, #0x15
|
|
ldr r2, [r5]
|
|
lsl r1, r1, #4
|
|
ldr r1, [r2, r1]
|
|
str r1, [sp, #0x34]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [r6]
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0x4d
|
|
mvn r0, r0
|
|
str r0, [sp, #0x44]
|
|
add r0, #0x46
|
|
str r0, [sp, #0x48]
|
|
mov r0, #0
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x50]
|
|
mov r0, #1
|
|
str r0, [sp, #0x54]
|
|
str r7, [sp, #0x58]
|
|
str r4, [sp, #0x38]
|
|
add r0, sp, #0x34
|
|
bl MOD16_021DB2BC
|
|
str r0, [r6, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0xa0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7670: .word 0x00000FF9
|
|
thumb_func_end MOD16_021E7580
|
|
|
|
thumb_func_start MOD16_021E7674
|
|
MOD16_021E7674: ; 0x021E7674
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #0x15
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
add r7, r2, #0
|
|
mov r1, #0x12
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
add r2, r7, #0
|
|
bl MOD16_021DBC08
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
cmp r0, #0x88
|
|
bhs _021E76B0
|
|
mov r1, #0x88
|
|
sub r0, r1, r0
|
|
lsr r3, r0, #1
|
|
b _021E76B2
|
|
_021E76B0:
|
|
mov r3, #0
|
|
_021E76B2:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x15
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021DB42C
|
|
add r0, r6, #0
|
|
bl MOD16_021DBBAC
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E7674
|
|
|
|
thumb_func_start MOD16_021E76D0
|
|
MOD16_021E76D0: ; 0x021E76D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0201FFC8
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021DB338
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E76D0
|
|
|
|
thumb_func_start MOD16_021E76E8
|
|
MOD16_021E76E8: ; 0x021E76E8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021D88F0
|
|
add r0, r7, #0
|
|
bl MOD16_021E79C0
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E775A
|
|
cmp r6, #0
|
|
beq _021E7736
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
b _021E775A
|
|
_021E7736:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E775A:
|
|
add r0, r5, #0
|
|
bl MOD16_021E79F0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E76E8
|
|
|
|
thumb_func_start MOD16_021E7764
|
|
MOD16_021E7764: ; 0x021E7764
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r2, #0x10]
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021E7784
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021E778E
|
|
_021E7784:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021E778E:
|
|
add r4, r0, #0
|
|
cmp r4, #1
|
|
bne _021E77B6
|
|
cmp r6, #1
|
|
bne _021E77A8
|
|
add r0, r7, #0
|
|
bl MOD16_021E79D8
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
b _021E77BC
|
|
_021E77A8:
|
|
add r0, r5, #0
|
|
bl MOD16_021E7474
|
|
add r0, r5, #0
|
|
bl MOD16_021E7424
|
|
b _021E77BC
|
|
_021E77B6:
|
|
add r0, r5, #0
|
|
bl MOD16_021E79F0
|
|
_021E77BC:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E7764
|
|
|
|
thumb_func_start MOD16_021E77C0
|
|
MOD16_021E77C0: ; 0x021E77C0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E79C0
|
|
cmp r6, #0
|
|
bne _021E77E6
|
|
ldr r1, [r4, #8]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, r7, #0
|
|
mov r3, #4
|
|
bl MOD16_021E7A00
|
|
add r0, r7, #0
|
|
bl MOD16_021E7A38
|
|
_021E77E6:
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E7840
|
|
cmp r6, #0
|
|
beq _021E781C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E781C:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E7840:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E77C0
|
|
|
|
thumb_func_start MOD16_021E7844
|
|
MOD16_021E7844: ; 0x021E7844
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bne _021E7864
|
|
bl MOD16_021E7A1C
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E7A54
|
|
str r0, [sp, #4]
|
|
b _021E786A
|
|
_021E7864:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
_021E786A:
|
|
ldr r0, [r6, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r4]
|
|
beq _021E7884
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #8]
|
|
b _021E7890
|
|
_021E7884:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
str r0, [sp, #8]
|
|
_021E7890:
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021E7894:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021E78A2
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #3
|
|
blt _021E7894
|
|
_021E78A2:
|
|
cmp r1, #3
|
|
bne _021E78B6
|
|
cmp r7, #1
|
|
bne _021E78B0
|
|
add r0, r5, #0
|
|
bl MOD16_021E79D8
|
|
_021E78B0:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E78B6:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E7844
|
|
|
|
thumb_func_start MOD16_021E78BC
|
|
MOD16_021E78BC: ; 0x021E78BC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E79C0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl MOD16_021D88F0
|
|
cmp r6, #0
|
|
bne _021E78E4
|
|
ldr r1, [r4, #8]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021E7A00
|
|
_021E78E4:
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021E793E
|
|
cmp r6, #0
|
|
beq _021E791A
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E791A:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E793E:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E78BC
|
|
|
|
thumb_func_start MOD16_021E7944
|
|
MOD16_021E7944: ; 0x021E7944
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bne _021E795A
|
|
bl MOD16_021E7A1C
|
|
str r0, [sp]
|
|
b _021E795E
|
|
_021E795A:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021E795E:
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021E7978
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #4]
|
|
b _021E7984
|
|
_021E7978:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
str r0, [sp, #4]
|
|
_021E7984:
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021E7988:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021E7996
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021E7988
|
|
_021E7996:
|
|
cmp r1, #2
|
|
bne _021E79BA
|
|
cmp r6, #1
|
|
bne _021E79AE
|
|
add r0, r7, #0
|
|
bl MOD16_021E79D8
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl MOD16_021D88F0
|
|
b _021E79B4
|
|
_021E79AE:
|
|
add r0, r5, #0
|
|
bl MOD16_021E7424
|
|
_021E79B4:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E79BA:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E7944
|
|
|
|
thumb_func_start MOD16_021E79C0
|
|
MOD16_021E79C0: ; 0x021E79C0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E79C0
|
|
|
|
thumb_func_start MOD16_021E79D8
|
|
MOD16_021E79D8: ; 0x021E79D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E79D8
|
|
|
|
thumb_func_start MOD16_021E79F0
|
|
MOD16_021E79F0: ; 0x021E79F0
|
|
mov r1, #0x5b
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #2
|
|
ldr r3, _021E79FC ; =MOD16_021D8A8C
|
|
add r1, r0, r1
|
|
bx r3
|
|
.align 2, 0
|
|
_021E79FC: .word MOD16_021D8A8C
|
|
thumb_func_end MOD16_021E79F0
|
|
|
|
thumb_func_start MOD16_021E7A00
|
|
MOD16_021E7A00: ; 0x021E7A00
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
str r2, [sp]
|
|
str r3, [sp, #4]
|
|
add r0, #0x18
|
|
mov r1, #0x30
|
|
add r2, r4, #0
|
|
mov r3, #0x48
|
|
bl MOD16_021D8BD8
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7A00
|
|
|
|
thumb_func_start MOD16_021E7A1C
|
|
MOD16_021E7A1C: ; 0x021E7A1C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, #0x18
|
|
bl MOD16_021D8BF4
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
bl MOD16_021D86F4
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E7A1C
|
|
|
|
thumb_func_start MOD16_021E7A38
|
|
MOD16_021E7A38: ; 0x021E7A38
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
mov r1, #0x52
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
add r0, #0x38
|
|
mov r1, #0xac
|
|
mov r2, #0xaa
|
|
mov r3, #0x20
|
|
bl MOD16_021D8BD8
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021E7A38
|
|
|
|
thumb_func_start MOD16_021E7A54
|
|
MOD16_021E7A54: ; 0x021E7A54
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, #0x38
|
|
bl MOD16_021D8BF4
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, #0x38]
|
|
ldr r2, [r5, #0x3c]
|
|
bl MOD16_021D7F6C
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E7A54
|
|
|
|
thumb_func_start MOD16_021E7A70
|
|
MOD16_021E7A70: ; 0x021E7A70
|
|
push {r4, lr}
|
|
cmp r0, #7
|
|
bhi _021E7AAA
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E7A82: ; jump table
|
|
.short _021E7AAA - _021E7A82 - 2 ; case 0
|
|
.short _021E7A92 - _021E7A82 - 2 ; case 1
|
|
.short _021E7A96 - _021E7A82 - 2 ; case 2
|
|
.short _021E7A9A - _021E7A82 - 2 ; case 3
|
|
.short _021E7A9E - _021E7A82 - 2 ; case 4
|
|
.short _021E7AA2 - _021E7A82 - 2 ; case 5
|
|
.short _021E7AAA - _021E7A82 - 2 ; case 6
|
|
.short _021E7AA6 - _021E7A82 - 2 ; case 7
|
|
_021E7A92:
|
|
mov r4, #0x72
|
|
b _021E7AAE
|
|
_021E7A96:
|
|
mov r4, #0x16
|
|
b _021E7AAE
|
|
_021E7A9A:
|
|
mov r4, #0x17
|
|
b _021E7AAE
|
|
_021E7A9E:
|
|
mov r4, #0x19
|
|
b _021E7AAE
|
|
_021E7AA2:
|
|
mov r4, #0x18
|
|
b _021E7AAE
|
|
_021E7AA6:
|
|
mov r4, #0x1a
|
|
b _021E7AAE
|
|
_021E7AAA:
|
|
bl ErrorHandling
|
|
_021E7AAE:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7A70
|
|
|
|
thumb_func_start MOD16_021E7AB4
|
|
MOD16_021E7AB4: ; 0x021E7AB4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r1, r3, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DBBC8
|
|
add r4, r0, #0
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021E7AEC ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
mov r3, #0x80
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl MOD16_021DBBAC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E7AEC: .word 0x00020100
|
|
thumb_func_end MOD16_021E7AB4
|
|
|
|
thumb_func_start MOD16_021E7AF0
|
|
MOD16_021E7AF0: ; 0x021E7AF0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r1, r3, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021DBC08
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0xf2
|
|
sub r3, r1, r0
|
|
mov r0, #0x70
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021E7B34 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl MOD16_021DBBAC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E7B34: .word 0x00020100
|
|
thumb_func_end MOD16_021E7AF0
|
|
|
|
thumb_func_start MOD16_021E7B38
|
|
MOD16_021E7B38: ; 0x021E7B38
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E7BB0
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E7C10
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E7C38
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E7CE0
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E7B80 ; =MOD16_021E7CE4
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E7B84 ; =MOD16_021E7D28
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E7B88 ; =MOD16_021E7D68
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E7B8C ; =MOD16_021E7D7C
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E7B90 ; =MOD16_021E7E10
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E7B94 ; =MOD16_021E7ECC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E7B80: .word MOD16_021E7CE4
|
|
_021E7B84: .word MOD16_021E7D28
|
|
_021E7B88: .word MOD16_021E7D68
|
|
_021E7B8C: .word MOD16_021E7D7C
|
|
_021E7B90: .word MOD16_021E7E10
|
|
_021E7B94: .word MOD16_021E7ECC
|
|
thumb_func_end MOD16_021E7B38
|
|
|
|
thumb_func_start MOD16_021E7B98
|
|
MOD16_021E7B98: ; 0x021E7B98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E7C90
|
|
ldr r0, [r4]
|
|
bl MOD16_021E7CA4
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021E7CB8
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E7B98
|
|
|
|
thumb_func_start MOD16_021E7BB0
|
|
MOD16_021E7BB0: ; 0x021E7BB0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E7BC2
|
|
bl ErrorHandling
|
|
_021E7BC2:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021E7BC8:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021E7BC8
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AEC
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B5C
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x10]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7BB0
|
|
|
|
thumb_func_start MOD16_021E7C10
|
|
MOD16_021E7C10: ; 0x021E7C10
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E7C22
|
|
bl ErrorHandling
|
|
_021E7C22:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E7C10
|
|
|
|
thumb_func_start MOD16_021E7C38
|
|
MOD16_021E7C38: ; 0x021E7C38
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021E7CE0
|
|
add r7, r0, #0
|
|
mov r1, #0x14
|
|
mul r7, r1
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E7C58
|
|
bl ErrorHandling
|
|
_021E7C58:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021DB0B0
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r2, r6, #0
|
|
mov r3, #2
|
|
bl MOD16_021DB1D0
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x28
|
|
add r2, r6, #0
|
|
mov r3, #4
|
|
bl MOD16_021DB114
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7C38
|
|
|
|
thumb_func_start MOD16_021E7C90
|
|
MOD16_021E7C90: ; 0x021E7C90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E7C9A
|
|
bl ErrorHandling
|
|
_021E7C9A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7C90
|
|
|
|
thumb_func_start MOD16_021E7CA4
|
|
MOD16_021E7CA4: ; 0x021E7CA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E7CAE
|
|
bl ErrorHandling
|
|
_021E7CAE:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7CA4
|
|
|
|
thumb_func_start MOD16_021E7CB8
|
|
MOD16_021E7CB8: ; 0x021E7CB8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E7CC2
|
|
bl ErrorHandling
|
|
_021E7CC2:
|
|
add r0, r4, #0
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E7CB8
|
|
|
|
thumb_func_start MOD16_021E7CE0
|
|
MOD16_021E7CE0: ; 0x021E7CE0
|
|
mov r0, #3
|
|
bx lr
|
|
thumb_func_end MOD16_021E7CE0
|
|
|
|
thumb_func_start MOD16_021E7CE4
|
|
MOD16_021E7CE4: ; 0x021E7CE4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r6, r1, #0
|
|
mov r1, #0x3c
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x3c
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #4
|
|
_021E7D02:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x14]
|
|
add r2, r2, #4
|
|
cmp r1, #8
|
|
blt _021E7D02
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E7F54
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E8B7C
|
|
str r4, [r5, #8]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E7CE4
|
|
|
|
thumb_func_start MOD16_021E7D28
|
|
MOD16_021E7D28: ; 0x021E7D28
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021E7D38
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E7D38:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021E7D42
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E7D42:
|
|
ldr r0, [r5, #0x14]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021E7D62
|
|
add r0, r4, #0
|
|
bl MOD16_021E8ABC
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E8014
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E8A78
|
|
_021E7D62:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7D28
|
|
|
|
thumb_func_start MOD16_021E7D68
|
|
MOD16_021E7D68: ; 0x021E7D68
|
|
push {r4, lr}
|
|
ldr r4, [r0, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021E8088
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E7D68
|
|
|
|
thumb_func_start MOD16_021E7D7C
|
|
MOD16_021E7D7C: ; 0x021E7D7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
str r2, [sp]
|
|
ldr r7, [r3, #8]
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021E7E0A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E7D9A: ; jump table
|
|
.short _021E7DA2 - _021E7D9A - 2 ; case 0
|
|
.short _021E7DBC - _021E7D9A - 2 ; case 1
|
|
.short _021E7DE2 - _021E7D9A - 2 ; case 2
|
|
.short _021E7DF8 - _021E7D9A - 2 ; case 3
|
|
_021E7DA2:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xc4
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0xc4
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7E0A
|
|
_021E7DBC:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E8228
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021E8AE4
|
|
ldr r2, [sp]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021E880C
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7E0A
|
|
_021E7DE2:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021E8878
|
|
cmp r0, #0
|
|
beq _021E7E0A
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7E0A
|
|
_021E7DF8:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B3C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7E0A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7D7C
|
|
|
|
thumb_func_start MOD16_021E7E10
|
|
MOD16_021E7E10: ; 0x021E7E10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
str r0, [sp, #0x1c]
|
|
add r0, r1, #0
|
|
ldr r7, [r0, #8]
|
|
ldr r6, [r3, #8]
|
|
add r0, r7, #0
|
|
add r0, #0xc0
|
|
str r1, [sp, #0x20]
|
|
ldr r1, [r0]
|
|
ldr r0, [r6, #0x38]
|
|
cmp r1, r0
|
|
beq _021E7E3A
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E8AE4
|
|
add r0, r7, #0
|
|
ldr r1, [r6, #0x38]
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
_021E7E3A:
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, r7, #0
|
|
str r0, [sp, #0x28]
|
|
add r0, #0xa0
|
|
str r0, [sp, #0x28]
|
|
add r0, r7, #0
|
|
str r0, [sp, #0x24]
|
|
add r0, #0x80
|
|
str r0, [sp, #0x24]
|
|
add r4, r6, #0
|
|
add r5, r7, #0
|
|
_021E7E52:
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #0
|
|
bne _021E7E5C
|
|
mov r1, #4
|
|
b _021E7E5E
|
|
_021E7E5C:
|
|
mov r1, #5
|
|
_021E7E5E:
|
|
mov r0, #5
|
|
mvn r0, r0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x24]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x20]
|
|
ldr r0, [r0, #4]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #4
|
|
str r0, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, #0x20]
|
|
ldr r3, [r4, #0x14]
|
|
bl MOD16_021E88B4
|
|
ldr r0, [r5, #0x50]
|
|
ldr r1, [r4, #0x14]
|
|
bl MOD16_021D7B98
|
|
ldr r0, [sp, #0x28]
|
|
add r4, r4, #4
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x24]
|
|
add r5, r5, #4
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x2c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x2c]
|
|
cmp r0, #1
|
|
ble _021E7E52
|
|
mov r4, #2
|
|
add r6, #8
|
|
add r7, #8
|
|
_021E7EB0:
|
|
ldr r0, [r7]
|
|
ldr r1, [r6, #0x14]
|
|
add r2, r4, #0
|
|
bl MOD16_021E8BB8
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
add r7, r7, #4
|
|
cmp r4, #8
|
|
blt _021E7EB0
|
|
mov r0, #0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7E10
|
|
|
|
thumb_func_start MOD16_021E7ECC
|
|
MOD16_021E7ECC: ; 0x021E7ECC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021E7F4E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E7EE8: ; jump table
|
|
.short _021E7EF2 - _021E7EE8 - 2 ; case 0
|
|
.short _021E7F14 - _021E7EE8 - 2 ; case 1
|
|
.short _021E7F2A - _021E7EE8 - 2 ; case 2
|
|
.short _021E7F3C - _021E7EE8 - 2 ; case 3
|
|
.short _021E7F4A - _021E7EE8 - 2 ; case 4
|
|
_021E7EF2:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl MOD16_021D8B3C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021E880C
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7F4E
|
|
_021E7F14:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD16_021E8878
|
|
cmp r0, #0
|
|
beq _021E7F4E
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7F4E
|
|
_021E7F2A:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E8258
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7F4E
|
|
_021E7F3C:
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E7F4E
|
|
_021E7F4A:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7F4E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E7ECC
|
|
|
|
thumb_func_start MOD16_021E7F54
|
|
MOD16_021E7F54: ; 0x021E7F54
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl AllocFromHeap
|
|
str r0, [r5, #4]
|
|
mov r0, #0xd0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x70
|
|
mov r2, #0x98
|
|
mov r3, #0x30
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xd0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x38
|
|
add r0, r0, #4
|
|
mov r2, #0x60
|
|
mov r3, #0x30
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #8
|
|
mov r2, #0xc0
|
|
mov r3, #8
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x58
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #0xc
|
|
mov r2, #0xc0
|
|
mov r3, #0x30
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x80
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #0x10
|
|
mov r2, #0xc0
|
|
mov r3, #0x58
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #0x14
|
|
mov r2, #0xc0
|
|
mov r3, #0x80
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xd0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #0x18
|
|
mov r2, #0xc0
|
|
mov r3, #0xa8
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xf8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xa0
|
|
add r0, #0x1c
|
|
mov r2, #0xc0
|
|
mov r3, #0xd0
|
|
bl MOD16_021D7C98
|
|
str r4, [r5, #8]
|
|
str r5, [r5, #0xc]
|
|
str r6, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r2, _021E8010 ; =MOD16_021E80A0
|
|
mov r1, #8
|
|
add r3, #8
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E8010: .word MOD16_021E80A0
|
|
thumb_func_end MOD16_021E7F54
|
|
|
|
thumb_func_start MOD16_021E8014
|
|
MOD16_021E8014: ; 0x021E8014
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #3
|
|
_021E801E:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x14]
|
|
add r2, r2, #4
|
|
cmp r1, #8
|
|
blt _021E801E
|
|
ldr r0, [r4]
|
|
bl FUN_02022144
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #5
|
|
bhi _021E806E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E8040: ; jump table
|
|
.short _021E804C - _021E8040 - 2 ; case 0
|
|
.short _021E8052 - _021E8040 - 2 ; case 1
|
|
.short _021E8058 - _021E8040 - 2 ; case 2
|
|
.short _021E805E - _021E8040 - 2 ; case 3
|
|
.short _021E8064 - _021E8040 - 2 ; case 4
|
|
.short _021E806A - _021E8040 - 2 ; case 5
|
|
_021E804C:
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
b _021E806E
|
|
_021E8052:
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
b _021E806E
|
|
_021E8058:
|
|
mov r0, #1
|
|
str r0, [r4, #0x24]
|
|
b _021E806E
|
|
_021E805E:
|
|
mov r0, #1
|
|
str r0, [r4, #0x28]
|
|
b _021E806E
|
|
_021E8064:
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
b _021E806E
|
|
_021E806A:
|
|
mov r0, #1
|
|
str r0, [r4, #0x30]
|
|
_021E806E:
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
beq _021E807A
|
|
cmp r0, #1
|
|
beq _021E8080
|
|
pop {r4, pc}
|
|
_021E807A:
|
|
mov r0, #2
|
|
str r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
_021E8080:
|
|
mov r0, #2
|
|
str r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8014
|
|
|
|
thumb_func_start MOD16_021E8088
|
|
MOD16_021E8088: ; 0x021E8088
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8088
|
|
|
|
thumb_func_start MOD16_021E80A0
|
|
MOD16_021E80A0: ; 0x021E80A0
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r2, #4]
|
|
ldr r5, [r2]
|
|
lsl r2, r0, #2
|
|
add r2, r4, r2
|
|
str r1, [r2, #0x14]
|
|
cmp r1, #2
|
|
bne _021E811A
|
|
cmp r0, #7
|
|
bhi _021E811A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E80C0: ; jump table
|
|
.short _021E80D0 - _021E80C0 - 2 ; case 0
|
|
.short _021E80D6 - _021E80C0 - 2 ; case 1
|
|
.short _021E80DC - _021E80C0 - 2 ; case 2
|
|
.short _021E8112 - _021E80C0 - 2 ; case 3
|
|
.short _021E814A - _021E80C0 - 2 ; case 4
|
|
.short _021E8180 - _021E80C0 - 2 ; case 5
|
|
.short _021E81B6 - _021E80C0 - 2 ; case 6
|
|
.short _021E81EC - _021E80C0 - 2 ; case 7
|
|
_021E80D0:
|
|
mov r0, #0
|
|
str r0, [r4, #0x34]
|
|
pop {r3, r4, r5, pc}
|
|
_021E80D6:
|
|
mov r0, #1
|
|
str r0, [r4, #0x34]
|
|
pop {r3, r4, r5, pc}
|
|
_021E80DC:
|
|
ldr r0, [r4, #0x38]
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _021E811A
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #8]
|
|
bne _021E80F2
|
|
bl MOD16_021E4BB8
|
|
b _021E80FA
|
|
_021E80F2:
|
|
mov r1, #0
|
|
bl MOD16_021E4BBC
|
|
mov r0, #1
|
|
_021E80FA:
|
|
cmp r0, #0
|
|
beq _021E811A
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD16_021E89D4
|
|
ldr r0, _021E8224 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021E8112:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _021E811C
|
|
_021E811A:
|
|
b _021E8220
|
|
_021E811C:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E812A
|
|
bl MOD16_021E6EF8
|
|
b _021E8132
|
|
_021E812A:
|
|
mov r1, #0
|
|
bl MOD16_021E6EFC
|
|
mov r0, #1
|
|
_021E8132:
|
|
cmp r0, #0
|
|
beq _021E8220
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021E89D4
|
|
ldr r0, _021E8224 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021E814A:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021E8220
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #2
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E8160
|
|
bl MOD16_021E6EF8
|
|
b _021E8168
|
|
_021E8160:
|
|
mov r1, #0
|
|
bl MOD16_021E6EFC
|
|
mov r0, #1
|
|
_021E8168:
|
|
cmp r0, #0
|
|
beq _021E8220
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #2
|
|
bl MOD16_021E89D4
|
|
ldr r0, _021E8224 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021E8180:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
beq _021E8220
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #3
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E8196
|
|
bl MOD16_021E6EF8
|
|
b _021E819E
|
|
_021E8196:
|
|
mov r1, #0
|
|
bl MOD16_021E6EFC
|
|
mov r0, #1
|
|
_021E819E:
|
|
cmp r0, #0
|
|
beq _021E8220
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #3
|
|
bl MOD16_021E89D4
|
|
ldr r0, _021E8224 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021E81B6:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021E8220
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #4
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E81CC
|
|
bl MOD16_021E6EF8
|
|
b _021E81D4
|
|
_021E81CC:
|
|
mov r1, #0
|
|
bl MOD16_021E6EFC
|
|
mov r0, #1
|
|
_021E81D4:
|
|
cmp r0, #0
|
|
beq _021E8220
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #4
|
|
bl MOD16_021E89D4
|
|
ldr r0, _021E8224 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_021E81EC:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021E8220
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #5
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E8202
|
|
bl MOD16_021E6EF8
|
|
b _021E820A
|
|
_021E8202:
|
|
mov r1, #0
|
|
bl MOD16_021E6EFC
|
|
mov r0, #1
|
|
_021E820A:
|
|
cmp r0, #0
|
|
beq _021E8220
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #5
|
|
bl MOD16_021E89D4
|
|
ldr r0, _021E8224 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
_021E8220:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E8224: .word 0x0000068B
|
|
thumb_func_end MOD16_021E80A0
|
|
|
|
thumb_func_start MOD16_021E8228
|
|
MOD16_021E8228: ; 0x021E8228
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021E82B8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E8394
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E84DC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E868C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E8228
|
|
|
|
thumb_func_start MOD16_021E8258
|
|
MOD16_021E8258: ; 0x021E8258
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r6, r2, #0
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
str r6, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
mov r2, #4
|
|
mov r3, #0x80
|
|
bl MOD16_021D8CFC
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
mov r2, #4
|
|
mov r3, #0xa0
|
|
bl MOD16_021D8CFC
|
|
add r0, r5, #0
|
|
bl MOD16_021E866C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E8780
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E8480
|
|
mov r4, #0
|
|
_021E829E:
|
|
add r0, r5, #0
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E82AC
|
|
bl FreeToHeap
|
|
_021E82AC:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021E829E
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E8258
|
|
|
|
thumb_func_start MOD16_021E82B8
|
|
MOD16_021E82B8: ; 0x021E82B8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x22
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x3e
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x3c
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r6, r0, #0
|
|
mov r1, #6
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0xe
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
add r3, r1, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x3f
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
add r4, r0, #0
|
|
mov r1, #6
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
add r3, r1, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E82B8
|
|
|
|
thumb_func_start MOD16_021E8394
|
|
MOD16_021E8394: ; 0x021E8394
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E8468 ; =0x000013EE
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x66
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x40]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x40]
|
|
bl FUN_02009474
|
|
ldr r0, _021E846C ; =0x000013EC
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x64
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x48]
|
|
ldr r0, _021E8470 ; =0x000013ED
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x65
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x4c]
|
|
ldr r0, _021E8474 ; =0x000013EB
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x63
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x70]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x70]
|
|
bl FUN_02009474
|
|
ldr r0, _021E8478 ; =0x000013E9
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x61
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x78]
|
|
ldr r0, _021E847C ; =0x000013EA
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x62
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x7c]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8468: .word 0x000013EE
|
|
_021E846C: .word 0x000013EC
|
|
_021E8470: .word 0x000013ED
|
|
_021E8474: .word 0x000013EB
|
|
_021E8478: .word 0x000013E9
|
|
_021E847C: .word 0x000013EA
|
|
thumb_func_end MOD16_021E8394
|
|
|
|
thumb_func_start MOD16_021E8480
|
|
MOD16_021E8480: ; 0x021E8480
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x40]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x40]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x48]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x4c]
|
|
bl FUN_02009490
|
|
ldr r0, [r5, #0x70]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x70]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x78]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x7c]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E8480
|
|
|
|
thumb_func_start MOD16_021E84DC
|
|
MOD16_021E84DC: ; 0x021E84DC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x74
|
|
ldr r4, [r1]
|
|
ldr r3, _021E8658 ; =0x000013ED
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r5, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021E865C ; =0x0000083F
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x50
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x21
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0x50
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x44]
|
|
mov r0, #2
|
|
str r0, [sp, #0x48]
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x38]
|
|
mov r0, #3
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x30
|
|
str r5, [sp, #0x4c]
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r7]
|
|
bl FUN_02020130
|
|
mov r0, #2
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x38]
|
|
mov r1, #0x13
|
|
mov r0, #3
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x30
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r7, #4]
|
|
bl FUN_02020130
|
|
ldr r3, _021E8660 ; =0x000013EA
|
|
mov r0, #0
|
|
mov r2, #5
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r1, #2
|
|
lsl r2, r2, #6
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [r4, r2]
|
|
str r1, [sp, #0x14]
|
|
add r1, r2, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r2, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r2, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [r4, r2]
|
|
ldr r2, _021E865C ; =0x0000083F
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x50
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
add r0, sp, #0x50
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0xb
|
|
mov r0, #3
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0
|
|
ldr r4, _021E8664 ; =0x021FF5DC
|
|
ldr r5, _021E8668 ; =0x021FF5F4
|
|
str r0, [sp, #0x2c]
|
|
add r6, r7, #0
|
|
_021E85DA:
|
|
ldr r0, [r4]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x30
|
|
bl FUN_0201FF84
|
|
str r0, [r6, #8]
|
|
ldr r1, [r5]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0x2c]
|
|
add r4, r4, #4
|
|
add r0, r0, #1
|
|
add r6, r6, #4
|
|
add r5, r5, #4
|
|
str r0, [sp, #0x2c]
|
|
cmp r0, #6
|
|
blt _021E85DA
|
|
mov r0, #0x1e
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x38]
|
|
mov r1, #0x86
|
|
mov r0, #3
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x30
|
|
bl FUN_0201FF84
|
|
mov r1, #0xd
|
|
str r0, [r7, #0x50]
|
|
bl FUN_02020130
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0x4e
|
|
str r0, [sp, #0x38]
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r0, #1
|
|
str r1, [sp, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x30
|
|
bl FUN_0201FF84
|
|
mov r1, #0xc
|
|
str r0, [r7, #0x54]
|
|
bl FUN_02020130
|
|
mov r1, #2
|
|
add r7, #8
|
|
mov r0, #0
|
|
_021E8648:
|
|
add r1, r1, #1
|
|
str r0, [r7, #0x50]
|
|
add r7, r7, #4
|
|
cmp r1, #8
|
|
blt _021E8648
|
|
add sp, #0x74
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8658: .word 0x000013ED
|
|
_021E865C: .word 0x0000083F
|
|
_021E8660: .word 0x000013EA
|
|
_021E8664: .word 0x021FF5DC
|
|
_021E8668: .word 0x021FF5F4
|
|
thumb_func_end MOD16_021E84DC
|
|
|
|
thumb_func_start MOD16_021E866C
|
|
MOD16_021E866C: ; 0x021E866C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E8672:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r5, #0x50]
|
|
cmp r0, #0
|
|
beq _021E8682
|
|
bl FUN_0201FFC8
|
|
_021E8682:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021E8672
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E866C
|
|
|
|
thumb_func_start MOD16_021E868C
|
|
MOD16_021E868C: ; 0x021E868C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r2, #0
|
|
ldr r4, [r1]
|
|
cmp r0, #0
|
|
bne _021E86A0
|
|
bl ErrorHandling
|
|
_021E86A0:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021E8778 ; =0x0000083F
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
mov r1, #5
|
|
mvn r1, r1
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r6, [sp, #0x2c]
|
|
bl FUN_0201E28C
|
|
add r7, r0, #0
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #8
|
|
mov r2, #4
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021E877C ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x21
|
|
bl MOD16_021DB3C8
|
|
str r6, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x1f
|
|
mvn r0, r0
|
|
str r0, [sp, #0x18]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x20]
|
|
ldr r0, [r0]
|
|
add r1, r7, #4
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #8
|
|
mov r2, #4
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021E877C ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x22
|
|
bl MOD16_021DB3C8
|
|
mov r1, #0x20
|
|
sub r0, r1, r0
|
|
str r6, [sp, #0xc]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x24]
|
|
ldr r0, [r0]
|
|
add r1, r7, #4
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
mov r1, #2
|
|
add r5, #8
|
|
mov r0, #0
|
|
_021E876A:
|
|
add r1, r1, #1
|
|
str r0, [r5, #0x20]
|
|
add r5, r5, #4
|
|
cmp r1, #8
|
|
blt _021E876A
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E8778: .word 0x0000083F
|
|
_021E877C: .word 0x00000266
|
|
thumb_func_end MOD16_021E868C
|
|
|
|
thumb_func_start MOD16_021E8780
|
|
MOD16_021E8780: ; 0x021E8780
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E8786:
|
|
ldr r0, [r5, #0x20]
|
|
cmp r0, #0
|
|
beq _021E8790
|
|
bl MOD16_021DB338
|
|
_021E8790:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021E8786
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8780
|
|
|
|
thumb_func_start MOD16_021E879C
|
|
MOD16_021E879C: ; 0x021E879C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r7, #1
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
add r6, r7, #0
|
|
_021E87A6:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #0x20]
|
|
cmp r0, #0
|
|
beq _021E87BC
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
bl FUN_02011AF0
|
|
_021E87BC:
|
|
ldr r0, [r5, #0x50]
|
|
cmp r0, #0
|
|
beq _021E87C8
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
_021E87C8:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021E87A6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E879C
|
|
|
|
thumb_func_start MOD16_021E87D4
|
|
MOD16_021E87D4: ; 0x021E87D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r7, r4, #0
|
|
add r6, r4, #0
|
|
_021E87DE:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #0x20]
|
|
cmp r0, #0
|
|
beq _021E87F4
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
bl FUN_02011AF0
|
|
_021E87F4:
|
|
ldr r0, [r5, #0x50]
|
|
cmp r0, #0
|
|
beq _021E8800
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
_021E8800:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021E87DE
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E87D4
|
|
|
|
thumb_func_start MOD16_021E880C
|
|
MOD16_021E880C: ; 0x021E880C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E879C
|
|
ldr r0, [r4, #0x14]
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021E8874
|
|
cmp r6, #0
|
|
beq _021E8850
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r2, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r2, r0
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E8850:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r3, r0
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021E8874:
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E880C
|
|
|
|
thumb_func_start MOD16_021E8878
|
|
MOD16_021E8878: ; 0x021E8878
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #0x14]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021E8898
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021E889E
|
|
_021E8898:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
_021E889E:
|
|
cmp r0, #0
|
|
beq _021E88B0
|
|
cmp r4, #0
|
|
beq _021E88AC
|
|
add r0, r6, #0
|
|
bl MOD16_021E87D4
|
|
_021E88AC:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E88B0:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E8878
|
|
|
|
thumb_func_start MOD16_021E88B4
|
|
MOD16_021E88B4: ; 0x021E88B4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r1, #0
|
|
add r1, r3, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r4, [sp, #0x30]
|
|
ldr r6, [sp, #0x40]
|
|
mov r5, #0
|
|
bl MOD16_021D7B98
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x38]
|
|
bl MOD16_021E8960
|
|
ldr r0, [sp, #8]
|
|
bl FUN_0202022C
|
|
cmp r0, #3
|
|
bhi _021E8926
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E88F2: ; jump table
|
|
.short _021E88FA - _021E88F2 - 2 ; case 0
|
|
.short _021E88FA - _021E88F2 - 2 ; case 1
|
|
.short _021E890A - _021E88F2 - 2 ; case 2
|
|
.short _021E8918 - _021E88F2 - 2 ; case 3
|
|
_021E88FA:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _021E8926
|
|
mov r0, #0
|
|
mov r5, #1
|
|
mov r7, #9
|
|
str r0, [r4]
|
|
b _021E8926
|
|
_021E890A:
|
|
ldr r0, [r4]
|
|
cmp r0, #1
|
|
beq _021E8926
|
|
mov r5, #1
|
|
mov r7, #0xa
|
|
str r5, [r4]
|
|
b _021E8926
|
|
_021E8918:
|
|
ldr r0, [r4]
|
|
cmp r0, #2
|
|
beq _021E8926
|
|
mov r0, #2
|
|
mov r5, #1
|
|
mov r7, #8
|
|
str r0, [r4]
|
|
_021E8926:
|
|
cmp r5, #0
|
|
beq _021E895C
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
beq _021E8934
|
|
bl FreeToHeap
|
|
_021E8934:
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x34]
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
add r2, sp, #0x10
|
|
bl MOD16_021D8D70
|
|
str r0, [r6]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [r2, #0xc]
|
|
mov r0, #0x1f
|
|
lsl r1, r1, #5
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
cmp r0, #0
|
|
bne _021E895C
|
|
bl ErrorHandling
|
|
_021E895C:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E88B4
|
|
|
|
thumb_func_start MOD16_021E8960
|
|
MOD16_021E8960: ; 0x021E8960
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
bl MOD16_021D7C70
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021E8960
|
|
|
|
thumb_func_start MOD16_021E8970
|
|
MOD16_021E8970: ; 0x021E8970
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4, #8]
|
|
mov r6, #1
|
|
str r6, [r1, #0x1c]
|
|
ldr r3, [r4]
|
|
add r5, r2, #0
|
|
ldr r2, [r3]
|
|
mov r1, #4
|
|
orr r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r4, #8]
|
|
cmp r5, #5
|
|
str r1, [r0, #0x14]
|
|
bhi _021E89D0
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E89A0: ; jump table
|
|
.short _021E89AC - _021E89A0 - 2 ; case 0
|
|
.short _021E89BE - _021E89A0 - 2 ; case 1
|
|
.short _021E89BE - _021E89A0 - 2 ; case 2
|
|
.short _021E89BE - _021E89A0 - 2 ; case 3
|
|
.short _021E89BE - _021E89A0 - 2 ; case 4
|
|
.short _021E89BE - _021E89A0 - 2 ; case 5
|
|
_021E89AC:
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0x30
|
|
str r1, [r0, #8]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0x48
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [r4, #8]
|
|
str r6, [r0, #0x14]
|
|
pop {r4, r5, r6, pc}
|
|
_021E89BE:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0x30
|
|
mov r2, #0x48
|
|
bl MOD16_021E6EE8
|
|
ldr r0, [r4, #0x10]
|
|
add r1, r6, #0
|
|
bl MOD16_021E6EF0
|
|
_021E89D0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8970
|
|
|
|
thumb_func_start MOD16_021E89D4
|
|
MOD16_021E89D4: ; 0x021E89D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r3, #0
|
|
add r4, r1, #0
|
|
str r2, [sp]
|
|
cmp r5, #5
|
|
bhi _021E8A36
|
|
add r1, r5, r5
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E89EC: ; jump table
|
|
.short _021E89F8 - _021E89EC - 2 ; case 0
|
|
.short _021E8A12 - _021E89EC - 2 ; case 1
|
|
.short _021E8A12 - _021E89EC - 2 ; case 2
|
|
.short _021E8A12 - _021E89EC - 2 ; case 3
|
|
.short _021E8A12 - _021E89EC - 2 ; case 4
|
|
.short _021E8A12 - _021E89EC - 2 ; case 5
|
|
_021E89F8:
|
|
ldr r3, [r4]
|
|
mov r1, #4
|
|
ldr r2, [r3]
|
|
mov r7, #0x30
|
|
orr r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #2
|
|
mov r6, #0x48
|
|
str r1, [r0, #0x14]
|
|
b _021E8A36
|
|
_021E8A12:
|
|
ldr r2, [r4]
|
|
mov r1, #2
|
|
ldr r3, [r2]
|
|
mov r7, #0x30
|
|
orr r3, r1
|
|
str r3, [r2]
|
|
str r5, [r0, #0x10]
|
|
ldr r0, [r4, #0x10]
|
|
mov r6, #0x48
|
|
bl MOD16_021E6EF0
|
|
sub r0, r5, #1
|
|
bl MOD16_021DBBB4
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl MOD16_021E6F0C
|
|
_021E8A36:
|
|
ldr r0, [sp]
|
|
cmp r0, #5
|
|
bhi _021E8A76
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E8A48: ; jump table
|
|
.short _021E8A54 - _021E8A48 - 2 ; case 0
|
|
.short _021E8A64 - _021E8A48 - 2 ; case 1
|
|
.short _021E8A64 - _021E8A48 - 2 ; case 2
|
|
.short _021E8A64 - _021E8A48 - 2 ; case 3
|
|
.short _021E8A64 - _021E8A48 - 2 ; case 4
|
|
.short _021E8A64 - _021E8A48 - 2 ; case 5
|
|
_021E8A54:
|
|
ldr r0, [r4, #8]
|
|
mov r1, #2
|
|
str r7, [r0, #8]
|
|
ldr r0, [r4, #8]
|
|
str r6, [r0, #0xc]
|
|
ldr r0, [r4, #8]
|
|
str r1, [r0, #0x14]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8A64:
|
|
ldr r0, [r4, #0x10]
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021E6EE8
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
bl MOD16_021E6EF0
|
|
_021E8A76:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E89D4
|
|
|
|
thumb_func_start MOD16_021E8A78
|
|
MOD16_021E8A78: ; 0x021E8A78
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x34]
|
|
add r4, r1, #0
|
|
cmp r0, #8
|
|
beq _021E8AB6
|
|
cmp r0, #1
|
|
ldr r0, [r4, #4]
|
|
bne _021E8A94
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
bl MOD16_021D9D48
|
|
b _021E8A9A
|
|
_021E8A94:
|
|
mov r1, #1
|
|
bl MOD16_021D9D48
|
|
_021E8A9A:
|
|
cmp r0, #1
|
|
bne _021E8AB6
|
|
ldr r2, [r5, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E8970
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E8B7C
|
|
ldr r0, _021E8AB8 ; =0x0000068B
|
|
bl FUN_020054C8
|
|
_021E8AB6:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E8AB8: .word 0x0000068B
|
|
thumb_func_end MOD16_021E8A78
|
|
|
|
thumb_func_start MOD16_021E8ABC
|
|
MOD16_021E8ABC: ; 0x021E8ABC
|
|
ldr r1, _021E8AE0 ; =0x021C48B8
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x40
|
|
tst r1, r2
|
|
beq _021E8ACC
|
|
mov r1, #1
|
|
str r1, [r0, #0x34]
|
|
bx lr
|
|
_021E8ACC:
|
|
mov r1, #0x80
|
|
tst r1, r2
|
|
beq _021E8AD8
|
|
mov r1, #0
|
|
str r1, [r0, #0x34]
|
|
bx lr
|
|
_021E8AD8:
|
|
mov r1, #8
|
|
str r1, [r0, #0x34]
|
|
bx lr
|
|
nop
|
|
_021E8AE0: .word 0x021C48B8
|
|
thumb_func_end MOD16_021E8ABC
|
|
|
|
thumb_func_start MOD16_021E8AE4
|
|
MOD16_021E8AE4: ; 0x021E8AE4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x38]
|
|
mov r1, #1
|
|
tst r0, r1
|
|
ldr r0, [r5, #8]
|
|
bne _021E8AFC
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
b _021E8B00
|
|
_021E8AFC:
|
|
bl FUN_020200A0
|
|
_021E8B00:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
ldr r0, [r5, #0xc]
|
|
bne _021E8B12
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
b _021E8B18
|
|
_021E8B12:
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
_021E8B18:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E8B2A
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
b _021E8B30
|
|
_021E8B2A:
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
_021E8B30:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
ldr r0, [r5, #0x14]
|
|
bne _021E8B42
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
b _021E8B48
|
|
_021E8B42:
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
_021E8B48:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
ldr r0, [r5, #0x18]
|
|
bne _021E8B5A
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
b _021E8B60
|
|
_021E8B5A:
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
_021E8B60:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
ldr r0, [r5, #0x1c]
|
|
bne _021E8B72
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, pc}
|
|
_021E8B72:
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8AE4
|
|
|
|
thumb_func_start MOD16_021E8B7C
|
|
MOD16_021E8B7C: ; 0x021E8B7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r5, #0
|
|
add r4, r0, #0
|
|
add r6, r1, #0
|
|
str r5, [r0, #0x38]
|
|
add r4, #0x38
|
|
mov r7, #1
|
|
_021E8B8A:
|
|
add r0, r5, #0
|
|
bl MOD16_021DBBB4
|
|
add r1, r0, #0
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9F58
|
|
cmp r0, #0
|
|
beq _021E8BB0
|
|
ldr r1, [r4]
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
orr r2, r0
|
|
add r0, r5, #1
|
|
add r1, r7, #0
|
|
lsl r1, r0
|
|
add r0, r2, #0
|
|
orr r0, r1
|
|
str r0, [r4]
|
|
_021E8BB0:
|
|
add r5, r5, #1
|
|
cmp r5, #6
|
|
blt _021E8B8A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E8B7C
|
|
|
|
thumb_func_start MOD16_021E8BB8
|
|
MOD16_021E8BB8: ; 0x021E8BB8
|
|
push {r4, r5, r6, lr}
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
cmp r4, #2
|
|
blt _021E8BC8
|
|
cmp r4, #8
|
|
blt _021E8BCC
|
|
_021E8BC8:
|
|
bl ErrorHandling
|
|
_021E8BCC:
|
|
sub r0, r4, #2
|
|
lsl r1, r0, #2
|
|
ldr r0, _021E8BEC ; =0x021FF5F4
|
|
cmp r6, #1
|
|
ldr r1, [r0, r1]
|
|
bne _021E8BE2
|
|
add r0, r5, #0
|
|
add r1, r1, #1
|
|
bl FUN_02020130
|
|
pop {r4, r5, r6, pc}
|
|
_021E8BE2:
|
|
add r0, r5, #0
|
|
bl FUN_02020130
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E8BEC: .word 0x021FF5F4
|
|
thumb_func_end MOD16_021E8BB8
|
|
|
|
thumb_func_start MOD16_021E8BF0
|
|
MOD16_021E8BF0: ; 0x021E8BF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E8C70
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E8CF4
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E8D1C
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E8E34
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E8C38 ; =MOD16_021E8E38
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E8C3C ; =MOD16_021E8E40
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E8C40 ; =MOD16_021E8E70
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E8C44 ; =MOD16_021E8E78
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E8C48 ; =MOD16_021E8F24
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E8C4C ; =MOD16_021E8F4C
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E8C38: .word MOD16_021E8E38
|
|
_021E8C3C: .word MOD16_021E8E40
|
|
_021E8C40: .word MOD16_021E8E70
|
|
_021E8C44: .word MOD16_021E8E78
|
|
_021E8C48: .word MOD16_021E8F24
|
|
_021E8C4C: .word MOD16_021E8F4C
|
|
thumb_func_end MOD16_021E8BF0
|
|
|
|
thumb_func_start MOD16_021E8C50
|
|
MOD16_021E8C50: ; 0x021E8C50
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E8DBC
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E8DD0
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021E8DE4
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E8C50
|
|
|
|
thumb_func_start MOD16_021E8C68
|
|
MOD16_021E8C68: ; 0x021E8C68
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x28]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8C68
|
|
|
|
thumb_func_start MOD16_021E8C70
|
|
MOD16_021E8C70: ; 0x021E8C70
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x34
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E8C82
|
|
bl ErrorHandling
|
|
_021E8C82:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x34
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B00
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MOD16_021D7B5C
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
str r0, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x18]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0x20]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0x24]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021D7B5C
|
|
ldr r0, [r0]
|
|
str r0, [r4, #0xc]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
str r0, [r4, #0x30]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E8C70
|
|
|
|
thumb_func_start MOD16_021E8CF4
|
|
MOD16_021E8CF4: ; 0x021E8CF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E8D06
|
|
bl ErrorHandling
|
|
_021E8D06:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E8CF4
|
|
|
|
thumb_func_start MOD16_021E8D1C
|
|
MOD16_021E8D1C: ; 0x021E8D1C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021E8E34
|
|
add r7, r0, #0
|
|
mov r1, #0x14
|
|
mul r7, r1
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E8D3C
|
|
bl ErrorHandling
|
|
_021E8D3C:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #2
|
|
bl MOD16_021DAE0C
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r2, r6, #0
|
|
mov r3, #4
|
|
bl MOD16_021DB0B0
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x28
|
|
add r2, r6, #0
|
|
mov r3, #8
|
|
bl MOD16_021DAED4
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x3c
|
|
add r2, r6, #0
|
|
mov r3, #0x10
|
|
bl MOD16_021DAF38
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x50
|
|
add r2, r6, #0
|
|
mov r3, #0x20
|
|
bl MOD16_021DAF9C
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x64
|
|
add r2, r6, #0
|
|
mov r3, #0x40
|
|
bl MOD16_021DB000
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x78
|
|
add r2, r6, #0
|
|
mov r3, #0x80
|
|
bl MOD16_021DB058
|
|
add r1, r4, #0
|
|
mov r3, #1
|
|
add r0, r5, #0
|
|
add r1, #0x8c
|
|
add r2, r6, #0
|
|
lsl r3, r3, #8
|
|
bl MOD16_021DB16C
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8D1C
|
|
|
|
thumb_func_start MOD16_021E8DBC
|
|
MOD16_021E8DBC: ; 0x021E8DBC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E8DC6
|
|
bl ErrorHandling
|
|
_021E8DC6:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8DBC
|
|
|
|
thumb_func_start MOD16_021E8DD0
|
|
MOD16_021E8DD0: ; 0x021E8DD0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E8DDA
|
|
bl ErrorHandling
|
|
_021E8DDA:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8DD0
|
|
|
|
thumb_func_start MOD16_021E8DE4
|
|
MOD16_021E8DE4: ; 0x021E8DE4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E8DEE
|
|
bl ErrorHandling
|
|
_021E8DEE:
|
|
add r0, r4, #0
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x50
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x78
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E8DE4
|
|
|
|
thumb_func_start MOD16_021E8E34
|
|
MOD16_021E8E34: ; 0x021E8E34
|
|
mov r0, #8
|
|
bx lr
|
|
thumb_func_end MOD16_021E8E34
|
|
|
|
thumb_func_start MOD16_021E8E38
|
|
MOD16_021E8E38: ; 0x021E8E38
|
|
ldr r1, [r1, #0x10]
|
|
mov r0, #1
|
|
str r0, [r1, #0x1c]
|
|
bx lr
|
|
thumb_func_end MOD16_021E8E38
|
|
|
|
thumb_func_start MOD16_021E8E40
|
|
MOD16_021E8E40: ; 0x021E8E40
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
bne _021E8E4E
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E8E4E:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
bne _021E8E58
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E8E58:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _021E8E6A
|
|
add r0, r1, #0
|
|
bl MOD16_021E9534
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
_021E8E6A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8E40
|
|
|
|
thumb_func_start MOD16_021E8E70
|
|
MOD16_021E8E70: ; 0x021E8E70
|
|
mov r0, #0
|
|
str r0, [r1, #8]
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end MOD16_021E8E70
|
|
|
|
thumb_func_start MOD16_021E8E78
|
|
MOD16_021E8E78: ; 0x021E8E78
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r1, #3
|
|
bhi _021E8F1A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E8E96: ; jump table
|
|
.short _021E8E9E - _021E8E96 - 2 ; case 0
|
|
.short _021E8EBE - _021E8E96 - 2 ; case 1
|
|
.short _021E8EF6 - _021E8E96 - 2 ; case 2
|
|
.short _021E8F0E - _021E8E96 - 2 ; case 3
|
|
_021E8E9E:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x28
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x28
|
|
bl memset
|
|
ldr r1, [r7, #8]
|
|
ldr r0, [r4, #8]
|
|
str r1, [r0]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E8F1E
|
|
_021E8EBE:
|
|
ldr r3, [r4, #4]
|
|
add r1, r6, #0
|
|
bl MOD16_021E9294
|
|
add r0, r6, #0
|
|
bl MOD16_021E9DE0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r2, r1, #0
|
|
sub r2, #0x14
|
|
bl MOD16_021D8988
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E8F1E
|
|
_021E8EF6:
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
cmp r0, #0
|
|
beq _021E8F1E
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E8F1E
|
|
_021E8F0E:
|
|
add r0, r6, #0
|
|
bl MOD16_021E9DFC
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E8F1A:
|
|
bl ErrorHandling
|
|
_021E8F1E:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E8E78
|
|
|
|
thumb_func_start MOD16_021E8F24
|
|
MOD16_021E8F24: ; 0x021E8F24
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r1, #8]
|
|
add r5, r2, #0
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r4]
|
|
cmp r0, r1
|
|
beq _021E8F46
|
|
add r0, r4, #0
|
|
bl MOD16_021E9530
|
|
ldr r1, [r5, #8]
|
|
ldr r2, [r4]
|
|
add r0, r4, #0
|
|
bl MOD16_021EA1B4
|
|
ldr r0, [r5, #8]
|
|
str r0, [r4]
|
|
_021E8F46:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8F24
|
|
|
|
thumb_func_start MOD16_021E8F4C
|
|
MOD16_021E8F4C: ; 0x021E8F4C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
ldr r3, [r4]
|
|
add r5, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r3, #4
|
|
bhi _021E9008
|
|
add r3, r3, r3
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_021E8F68: ; jump table
|
|
.short _021E8F72 - _021E8F68 - 2 ; case 0
|
|
.short _021E8FCC - _021E8F68 - 2 ; case 1
|
|
.short _021E8FE4 - _021E8F68 - 2 ; case 2
|
|
.short _021E8FF0 - _021E8F68 - 2 ; case 3
|
|
.short _021E9002 - _021E8F68 - 2 ; case 4
|
|
_021E8F72:
|
|
ldr r0, [r2, #0x2c]
|
|
cmp r0, #0
|
|
beq _021E8FA2
|
|
add r0, r1, #0
|
|
bl MOD16_021E9DE0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r3, r1, #0
|
|
sub r3, #0x14
|
|
bl MOD16_021D8988
|
|
b _021E8FC4
|
|
_021E8FA2:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x3f
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #4
|
|
add r3, r1, #0
|
|
sub r3, #0x14
|
|
bl MOD16_021D8988
|
|
_021E8FC4:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E900C
|
|
_021E8FCC:
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
cmp r0, #0
|
|
beq _021E900C
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E900C
|
|
_021E8FE4:
|
|
bl MOD16_021E92D0
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E900C
|
|
_021E8FF0:
|
|
add r0, r1, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E900C
|
|
_021E9002:
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E9008:
|
|
bl ErrorHandling
|
|
_021E900C:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E8F4C
|
|
|
|
thumb_func_start MOD16_021E9014
|
|
MOD16_021E9014: ; 0x021E9014
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021E9024
|
|
mov r0, #1
|
|
str r0, [r4, #0x30]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9014
|
|
|
|
thumb_func_start MOD16_021E9024
|
|
MOD16_021E9024: ; 0x021E9024
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r1, #0
|
|
str r1, [r4, #0x28]
|
|
ldr r0, [r4, #0x10]
|
|
str r1, [r0, #0x14]
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021E6EF0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021E90D2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E9052: ; jump table
|
|
.short _021E905C - _021E9052 - 2 ; case 0
|
|
.short _021E9078 - _021E9052 - 2 ; case 1
|
|
.short _021E909C - _021E9052 - 2 ; case 2
|
|
.short _021E90C0 - _021E9052 - 2 ; case 3
|
|
.short _021E90CA - _021E9052 - 2 ; case 4
|
|
_021E905C:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0x38
|
|
str r1, [r0, #8]
|
|
ldr r0, [r4, #0x10]
|
|
mov r2, #0x50
|
|
str r2, [r0, #0xc]
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021E6EE8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0x14]
|
|
str r1, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
_021E9078:
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #1
|
|
bl MOD16_021E2F54
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #4
|
|
bl MOD16_021E2F5C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0x38
|
|
mov r2, #0x50
|
|
bl MOD16_021E2F4C
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0x14]
|
|
str r1, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
_021E909C:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #1
|
|
bl MOD16_021EA264
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #4
|
|
bl MOD16_021EA26C
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0x38
|
|
mov r2, #0x50
|
|
bl MOD16_021EA25C
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0x14]
|
|
str r1, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
_021E90C0:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
str r1, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
_021E90CA:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
str r1, [r4, #0x2c]
|
|
_021E90D2:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E9024
|
|
|
|
thumb_func_start MOD16_021E90D4
|
|
MOD16_021E90D4: ; 0x021E90D4
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E90D4
|
|
|
|
thumb_func_start MOD16_021E90D8
|
|
MOD16_021E90D8: ; 0x021E90D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
add r7, r1, #0
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
cmp r7, #4
|
|
bhi _021E91D6
|
|
add r0, r7, r7
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E90F6: ; jump table
|
|
.short _021E9100 - _021E90F6 - 2 ; case 0
|
|
.short _021E9128 - _021E90F6 - 2 ; case 1
|
|
.short _021E915E - _021E90F6 - 2 ; case 2
|
|
.short _021E9194 - _021E90F6 - 2 ; case 3
|
|
.short _021E91B4 - _021E90F6 - 2 ; case 4
|
|
_021E9100:
|
|
add r0, r2, #0
|
|
bl MOD16_021E90D4
|
|
cmp r0, #0
|
|
beq _021E910E
|
|
mov r1, #2
|
|
b _021E9110
|
|
_021E910E:
|
|
mov r1, #1
|
|
_021E9110:
|
|
ldr r0, [r4, #0x10]
|
|
mov r6, #0x30
|
|
str r1, [r0, #0x14]
|
|
ldr r2, [r4]
|
|
mov r0, #4
|
|
ldr r1, [r2]
|
|
mov r5, #0x48
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
b _021E91DA
|
|
_021E9128:
|
|
add r0, r2, #0
|
|
bl MOD16_021E90D4
|
|
cmp r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
beq _021E9144
|
|
mov r1, #1
|
|
bl MOD16_021E2F54
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #1
|
|
bl MOD16_021E2F5C
|
|
b _021E914A
|
|
_021E9144:
|
|
mov r1, #0
|
|
bl MOD16_021E2F54
|
|
_021E914A:
|
|
ldr r2, [r4]
|
|
mov r0, #8
|
|
ldr r1, [r2]
|
|
mov r6, #0x28
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r0, #1
|
|
str r0, [r4, #8]
|
|
mov r5, #0x78
|
|
b _021E91DA
|
|
_021E915E:
|
|
add r0, r2, #0
|
|
bl MOD16_021E90D4
|
|
cmp r0, #0
|
|
ldr r0, [r4, #0x20]
|
|
beq _021E917A
|
|
mov r1, #1
|
|
bl MOD16_021EA264
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #1
|
|
bl MOD16_021EA26C
|
|
b _021E9180
|
|
_021E917A:
|
|
mov r1, #0
|
|
bl MOD16_021EA264
|
|
_021E9180:
|
|
ldr r2, [r4]
|
|
mov r0, #0x10
|
|
ldr r1, [r2]
|
|
mov r6, #0x30
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r0, #2
|
|
str r0, [r4, #8]
|
|
mov r5, #0x40
|
|
b _021E91DA
|
|
_021E9194:
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DF8
|
|
cmp r0, #2
|
|
bne _021E91AE
|
|
ldr r2, [r4]
|
|
mov r0, #0x20
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r0, #3
|
|
str r0, [r4, #8]
|
|
b _021E91DA
|
|
_021E91AE:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
b _021E91DA
|
|
_021E91B4:
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9F80
|
|
cmp r0, #1
|
|
bne _021E91D0
|
|
ldr r2, [r4]
|
|
mov r0, #1
|
|
ldr r1, [r2]
|
|
lsl r0, r0, #8
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
mov r0, #4
|
|
str r0, [r4, #8]
|
|
b _021E91DA
|
|
_021E91D0:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
b _021E91DA
|
|
_021E91D6:
|
|
bl ErrorHandling
|
|
_021E91DA:
|
|
ldr r0, [sp]
|
|
cmp r0, #4
|
|
bhi _021E928A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E91EC: ; jump table
|
|
.short _021E91F6 - _021E91EC - 2 ; case 0
|
|
.short _021E922E - _021E91EC - 2 ; case 1
|
|
.short _021E925C - _021E91EC - 2 ; case 2
|
|
.short _021E928E - _021E91EC - 2 ; case 3
|
|
.short _021E928E - _021E91EC - 2 ; case 4
|
|
_021E91F6:
|
|
add r0, r7, #0
|
|
bl MOD16_021E90D4
|
|
cmp r0, #0
|
|
beq _021E920E
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
str r1, [r0, #0x14]
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021E6EF0
|
|
b _021E921A
|
|
_021E920E:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
str r1, [r0, #0x14]
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021E6EF0
|
|
_021E921A:
|
|
ldr r0, [r4, #0x10]
|
|
add r1, r6, #0
|
|
str r6, [r0, #8]
|
|
ldr r0, [r4, #0x10]
|
|
add r2, r5, #0
|
|
str r5, [r0, #0xc]
|
|
ldr r0, [r4, #0x18]
|
|
bl MOD16_021E6EE8
|
|
b _021E928E
|
|
_021E922E:
|
|
add r0, r7, #0
|
|
bl MOD16_021E90D4
|
|
cmp r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
beq _021E924A
|
|
mov r1, #1
|
|
bl MOD16_021E2F54
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #1
|
|
bl MOD16_021E2F5C
|
|
b _021E9250
|
|
_021E924A:
|
|
mov r1, #0
|
|
bl MOD16_021E2F54
|
|
_021E9250:
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021E2F4C
|
|
b _021E928E
|
|
_021E925C:
|
|
add r0, r7, #0
|
|
bl MOD16_021E90D4
|
|
cmp r0, #0
|
|
ldr r0, [r4, #0x20]
|
|
beq _021E9278
|
|
mov r1, #1
|
|
bl MOD16_021EA264
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #1
|
|
bl MOD16_021EA26C
|
|
b _021E927E
|
|
_021E9278:
|
|
mov r1, #0
|
|
bl MOD16_021EA264
|
|
_021E927E:
|
|
ldr r0, [r4, #0x20]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl MOD16_021EA25C
|
|
b _021E928E
|
|
_021E928A:
|
|
bl ErrorHandling
|
|
_021E928E:
|
|
ldr r0, [sp, #4]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E90D8
|
|
|
|
thumb_func_start MOD16_021E9294
|
|
MOD16_021E9294: ; 0x021E9294
|
|
push {r4, r5, r6, lr}
|
|
add r4, r3, #0
|
|
add r5, r1, #0
|
|
add r1, r2, #0
|
|
add r6, r0, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E92F8
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E938C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E947C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021E9484
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl MOD16_021EA1B4
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9294
|
|
|
|
thumb_func_start MOD16_021E92D0
|
|
MOD16_021E92D0: ; 0x021E92D0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021E9480
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E9438
|
|
add r0, r4, #0
|
|
bl MOD16_021E9518
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E92D0
|
|
|
|
thumb_func_start MOD16_021E92F8
|
|
MOD16_021E92F8: ; 0x021E92F8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r5, r0, #0
|
|
str r4, [sp, #4]
|
|
add r6, r1, #0
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD16_021D8CFC
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9D04
|
|
cmp r0, #1
|
|
bne _021E932E
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
mov r2, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0x18
|
|
add r3, r2, #0
|
|
bl MOD16_021D8CFC
|
|
_021E932E:
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #2
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x39
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r4, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E92F8
|
|
|
|
thumb_func_start MOD16_021E938C
|
|
MOD16_021E938C: ; 0x021E938C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r0]
|
|
add r5, r1, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E9428 ; =0x00000827
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x57
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x18]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009474
|
|
ldr r0, _021E942C ; =0x000007DC
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xc
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x1c]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_02009474
|
|
ldr r0, _021E9430 ; =0x00000825
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x55
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x20]
|
|
ldr r0, _021E9434 ; =0x00000826
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x56
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x24]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9428: .word 0x00000827
|
|
_021E942C: .word 0x000007DC
|
|
_021E9430: .word 0x00000825
|
|
_021E9434: .word 0x00000826
|
|
thumb_func_end MOD16_021E938C
|
|
|
|
thumb_func_start MOD16_021E9438
|
|
MOD16_021E9438: ; 0x021E9438
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r4, [r0]
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x1c]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x20]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x24]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E9438
|
|
|
|
thumb_func_start MOD16_021E947C
|
|
MOD16_021E947C: ; 0x021E947C
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E947C
|
|
|
|
thumb_func_start MOD16_021E9480
|
|
MOD16_021E9480: ; 0x021E9480
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9480
|
|
|
|
thumb_func_start MOD16_021E9484
|
|
MOD16_021E9484: ; 0x021E9484
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
ldr r7, [r0]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
add r5, r1, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x1c]
|
|
mov r1, #0
|
|
add r4, r2, #0
|
|
bl FUN_02009E54
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r1, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r1, [sp, #0x18]
|
|
mov r1, #1
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp, #0x2c]
|
|
str r4, [sp, #0x30]
|
|
bl FUN_0201E28C
|
|
str r0, [sp, #8]
|
|
mov r6, #0
|
|
_021E94BC:
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r3, r6, #0
|
|
ldr r0, [r7, r0]
|
|
ldr r2, _021E9514 ; =0x00000266
|
|
add r1, r4, #0
|
|
add r3, #0x65
|
|
bl MOD16_021DB3C8
|
|
str r4, [sp, #0x10]
|
|
add r0, sp, #0xc
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #4]
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #8]
|
|
bl FUN_02011A60
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #5
|
|
blt _021E94BC
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9514: .word 0x00000266
|
|
thumb_func_end MOD16_021E9484
|
|
|
|
thumb_func_start MOD16_021E9518
|
|
MOD16_021E9518: ; 0x021E9518
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E951E:
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021DB338
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _021E951E
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9518
|
|
|
|
thumb_func_start MOD16_021E9530
|
|
MOD16_021E9530: ; 0x021E9530
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9530
|
|
|
|
thumb_func_start MOD16_021E9534
|
|
MOD16_021E9534: ; 0x021E9534
|
|
mov r1, #1
|
|
str r1, [r0, #0x28]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9534
|
|
|
|
thumb_func_start MOD16_021E9540
|
|
MOD16_021E9540: ; 0x021E9540
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E95D0
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E960C
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021E9634
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021E9664
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021E9588 ; =MOD16_021E9668
|
|
str r0, [r5, #8]
|
|
ldr r0, _021E958C ; =MOD16_021E96B8
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021E9590 ; =MOD16_021E972C
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021E9594 ; =MOD16_021E974C
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021E9598 ; =MOD16_021E97DC
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021E959C ; =MOD16_021E9810
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E9588: .word MOD16_021E9668
|
|
_021E958C: .word MOD16_021E96B8
|
|
_021E9590: .word MOD16_021E972C
|
|
_021E9594: .word MOD16_021E974C
|
|
_021E9598: .word MOD16_021E97DC
|
|
_021E959C: .word MOD16_021E9810
|
|
thumb_func_end MOD16_021E9540
|
|
|
|
thumb_func_start MOD16_021E95A0
|
|
MOD16_021E95A0: ; 0x021E95A0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021E9638
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E964C
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021E9660
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E95A0
|
|
|
|
thumb_func_start MOD16_021E95B8
|
|
MOD16_021E95B8: ; 0x021E95B8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E95B8
|
|
|
|
thumb_func_start MOD16_021E95C0
|
|
MOD16_021E95C0: ; 0x021E95C0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x28]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E95C0
|
|
|
|
thumb_func_start MOD16_021E95C8
|
|
MOD16_021E95C8: ; 0x021E95C8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x30]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E95C8
|
|
|
|
thumb_func_start MOD16_021E95D0
|
|
MOD16_021E95D0: ; 0x021E95D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x34
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E95E2
|
|
bl ErrorHandling
|
|
_021E95E2:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x34
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B14
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
ldr r0, [r0]
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E95D0
|
|
|
|
thumb_func_start MOD16_021E960C
|
|
MOD16_021E960C: ; 0x021E960C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021E961E
|
|
bl ErrorHandling
|
|
_021E961E:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E960C
|
|
|
|
thumb_func_start MOD16_021E9634
|
|
MOD16_021E9634: ; 0x021E9634
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E9634
|
|
|
|
thumb_func_start MOD16_021E9638
|
|
MOD16_021E9638: ; 0x021E9638
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E9642
|
|
bl ErrorHandling
|
|
_021E9642:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9638
|
|
|
|
thumb_func_start MOD16_021E964C
|
|
MOD16_021E964C: ; 0x021E964C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E9656
|
|
bl ErrorHandling
|
|
_021E9656:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E964C
|
|
|
|
thumb_func_start MOD16_021E9660
|
|
MOD16_021E9660: ; 0x021E9660
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9660
|
|
|
|
thumb_func_start MOD16_021E9664
|
|
MOD16_021E9664: ; 0x021E9664
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021E9664
|
|
|
|
thumb_func_start MOD16_021E9668
|
|
MOD16_021E9668: ; 0x021E9668
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
mov r1, #0x1c
|
|
bl AllocFromHeap
|
|
add r6, r0, #0
|
|
add r2, r6, #0
|
|
mov r1, #0x1c
|
|
mov r0, #0
|
|
_021E967E:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021E967E
|
|
ldr r2, [r5, #4]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E9894
|
|
ldr r2, [r5, #4]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E9E6C
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EA08C
|
|
mov r1, #0
|
|
mov r0, #4
|
|
_021E96A6:
|
|
add r1, r1, #1
|
|
str r0, [r4, #0xc]
|
|
add r4, r4, #4
|
|
cmp r1, #6
|
|
blt _021E96A6
|
|
str r6, [r5, #8]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9668
|
|
|
|
thumb_func_start MOD16_021E96B8
|
|
MOD16_021E96B8: ; 0x021E96B8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021E96CC
|
|
mov r0, #0
|
|
str r0, [r5, #0x24]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E96CC:
|
|
ldr r1, [r0, #0x10]
|
|
cmp r1, #1
|
|
bne _021E96D6
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E96D6:
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
bne _021E96F0
|
|
mov r3, #1
|
|
str r3, [r5, #0x24]
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0
|
|
str r2, [r1, #0x30]
|
|
str r3, [r5, #0x28]
|
|
ldr r1, [r0]
|
|
add r1, r1, #1
|
|
str r1, [r0]
|
|
b _021E9728
|
|
_021E96F0:
|
|
mov r0, #1
|
|
str r0, [r5, #0x28]
|
|
add r0, r5, #0
|
|
bl MOD16_021E9E2C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EA0EC
|
|
add r0, r5, #0
|
|
bl MOD16_021E9930
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #1
|
|
bne _021E9720
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
bne _021E9720
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E9F48
|
|
_021E9720:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021E9940
|
|
_021E9728:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E96B8
|
|
|
|
thumb_func_start MOD16_021E972C
|
|
MOD16_021E972C: ; 0x021E972C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r5, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MOD16_021E99C0
|
|
add r0, r5, #0
|
|
bl MOD16_021EA074
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E972C
|
|
|
|
thumb_func_start MOD16_021E974C
|
|
MOD16_021E974C: ; 0x021E974C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
ldr r6, [r3, #8]
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021E97D8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E976A: ; jump table
|
|
.short _021E9774 - _021E976A - 2 ; case 0
|
|
.short _021E978E - _021E976A - 2 ; case 1
|
|
.short _021E979E - _021E976A - 2 ; case 2
|
|
.short _021E97C2 - _021E976A - 2 ; case 3
|
|
.short _021E97D4 - _021E976A - 2 ; case 4
|
|
_021E9774:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x28
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x28
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E97D8
|
|
_021E978E:
|
|
ldr r3, [r4, #4]
|
|
add r1, r5, #0
|
|
bl MOD16_021E9B00
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E97D8
|
|
_021E979E:
|
|
mov r1, #0
|
|
mov r0, #2
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
sub r2, #0x10
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021EA120
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E97D8
|
|
_021E97C2:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021E97D8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E97D8
|
|
_021E97D4:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E97D8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E974C
|
|
|
|
thumb_func_start MOD16_021E97DC
|
|
MOD16_021E97DC: ; 0x021E97DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r0, [sp]
|
|
ldr r0, [r3, #8]
|
|
add r7, r2, #0
|
|
ldr r5, [r1, #8]
|
|
str r0, [sp, #4]
|
|
mov r6, #0
|
|
add r4, r7, #0
|
|
_021E97EE:
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021D7B98
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #6
|
|
blt _021E97EE
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
add r2, r7, #0
|
|
bl MOD16_021EA13C
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E97DC
|
|
|
|
thumb_func_start MOD16_021E9810
|
|
MOD16_021E9810: ; 0x021E9810
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021E9890
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E982A: ; jump table
|
|
.short _021E9834 - _021E982A - 2 ; case 0
|
|
.short _021E984E - _021E982A - 2 ; case 1
|
|
.short _021E9860 - _021E982A - 2 ; case 2
|
|
.short _021E987C - _021E982A - 2 ; case 3
|
|
.short _021E988C - _021E982A - 2 ; case 4
|
|
_021E9834:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
add r1, r0, #0
|
|
sub r1, #0x14
|
|
mov r2, #0
|
|
mov r3, #0x3f
|
|
bl FUN_0200A208
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E9890
|
|
_021E984E:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
cmp r0, #0
|
|
beq _021E9890
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E9890
|
|
_021E9860:
|
|
add r1, r5, #0
|
|
bl MOD16_021E9B3C
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B14
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E9890
|
|
_021E987C:
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E9890
|
|
_021E988C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E9890:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E9810
|
|
|
|
thumb_func_start MOD16_021E9894
|
|
MOD16_021E9894: ; 0x021E9894
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
str r0, [r5, #4]
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
mov r1, #8
|
|
ldr r0, [r5, #4]
|
|
mov r2, #0x28
|
|
add r3, r1, #0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xf8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #8
|
|
add r0, #0x14
|
|
mov r2, #0x28
|
|
mov r3, #0xd0
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x58
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #8
|
|
add r0, r0, #4
|
|
mov r2, #0x28
|
|
mov r3, #0x30
|
|
bl MOD16_021D7C98
|
|
mov r0, #0x80
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #8
|
|
add r0, #8
|
|
mov r2, #0x28
|
|
mov r3, #0x58
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #8
|
|
add r0, #0xc
|
|
mov r2, #0x28
|
|
mov r3, #0x80
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xd0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #8
|
|
add r0, #0x10
|
|
mov r2, #0x28
|
|
mov r3, #0xa8
|
|
bl MOD16_021D7C98
|
|
str r4, [r5, #8]
|
|
str r5, [r5, #0xc]
|
|
str r6, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r2, _021E992C ; =MOD16_021E99D8
|
|
mov r1, #6
|
|
add r3, #8
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E992C: .word MOD16_021E99D8
|
|
thumb_func_end MOD16_021E9894
|
|
|
|
thumb_func_start MOD16_021E9930
|
|
MOD16_021E9930: ; 0x021E9930
|
|
mov r2, #0
|
|
mov r1, #3
|
|
_021E9934:
|
|
add r2, r2, #1
|
|
str r1, [r0, #0xc]
|
|
add r0, r0, #4
|
|
cmp r2, #6
|
|
blt _021E9934
|
|
bx lr
|
|
thumb_func_end MOD16_021E9930
|
|
|
|
thumb_func_start MOD16_021E9940
|
|
MOD16_021E9940: ; 0x021E9940
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4, #0x2c]
|
|
cmp r1, #0
|
|
bne _021E9950
|
|
ldr r0, [r0]
|
|
bl FUN_02022144
|
|
_021E9950:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _021E9960
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #2
|
|
beq _021E9960
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
_021E9960:
|
|
ldr r0, [r4, #4]
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #4
|
|
bhi _021E99BA
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E9974: ; jump table
|
|
.short _021E997E - _021E9974 - 2 ; case 0
|
|
.short _021E998A - _021E9974 - 2 ; case 1
|
|
.short _021E9996 - _021E9974 - 2 ; case 2
|
|
.short _021E99A2 - _021E9974 - 2 ; case 3
|
|
.short _021E99AE - _021E9974 - 2 ; case 4
|
|
_021E997E:
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #2
|
|
beq _021E99BE
|
|
mov r0, #1
|
|
str r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
_021E998A:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #2
|
|
beq _021E99BE
|
|
mov r0, #1
|
|
str r0, [r4, #0x10]
|
|
pop {r4, pc}
|
|
_021E9996:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #2
|
|
beq _021E99BE
|
|
mov r0, #1
|
|
str r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
_021E99A2:
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #2
|
|
beq _021E99BE
|
|
mov r0, #1
|
|
str r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
_021E99AE:
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #2
|
|
beq _021E99BE
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
_021E99BA:
|
|
bl ErrorHandling
|
|
_021E99BE:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E9940
|
|
|
|
thumb_func_start MOD16_021E99C0
|
|
MOD16_021E99C0: ; 0x021E99C0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E99C0
|
|
|
|
thumb_func_start MOD16_021E99D8
|
|
MOD16_021E99D8: ; 0x021E99D8
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, [r2]
|
|
ldr r5, [r2, #4]
|
|
lsl r2, r0, #2
|
|
add r2, r6, r2
|
|
ldr r4, [r6, #4]
|
|
cmp r1, #0
|
|
str r1, [r2, #0xc]
|
|
beq _021E99F0
|
|
cmp r1, #2
|
|
beq _021E99F6
|
|
pop {r4, r5, r6, pc}
|
|
_021E99F0:
|
|
mov r0, #0
|
|
str r0, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
_021E99F6:
|
|
cmp r0, #5
|
|
bhi _021E9AF6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E9A06: ; jump table
|
|
.short _021E9A20 - _021E9A06 - 2 ; case 0
|
|
.short _021E9A3E - _021E9A06 - 2 ; case 1
|
|
.short _021E9A5C - _021E9A06 - 2 ; case 2
|
|
.short _021E9A7A - _021E9A06 - 2 ; case 3
|
|
.short _021E9AB4 - _021E9A06 - 2 ; case 4
|
|
.short _021E9A12 - _021E9A06 - 2 ; case 5
|
|
_021E9A12:
|
|
add r0, r4, #0
|
|
bl MOD16_021E9014
|
|
ldr r0, _021E9AF8 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9A20:
|
|
ldr r2, [r4, #8]
|
|
cmp r2, #0
|
|
beq _021E9AF6
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl MOD16_021E9E18
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA08C
|
|
ldr r0, _021E9AFC ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9A3E:
|
|
ldr r2, [r4, #8]
|
|
cmp r2, #1
|
|
beq _021E9AF6
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021E9E18
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA08C
|
|
ldr r0, _021E9AFC ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9A5C:
|
|
ldr r2, [r4, #8]
|
|
cmp r2, #2
|
|
beq _021E9AF6
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl MOD16_021E9E18
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA08C
|
|
ldr r0, _021E9AFC ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9A7A:
|
|
ldr r2, [r4, #8]
|
|
cmp r2, #3
|
|
beq _021E9AF6
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl MOD16_021E9E18
|
|
cmp r0, #0
|
|
beq _021E9A9C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA08C
|
|
ldr r0, _021E9AFC ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9A9C:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bne _021E9AF6
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #2
|
|
beq _021E9AAE
|
|
ldr r0, _021E9AF8 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E9AAE:
|
|
mov r0, #1
|
|
str r0, [r5, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
_021E9AB4:
|
|
ldr r2, [r4, #8]
|
|
cmp r2, #4
|
|
beq _021E9AF6
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl MOD16_021E9E18
|
|
cmp r0, #0
|
|
beq _021E9AD6
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA08C
|
|
ldr r0, _021E9AFC ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9AD6:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bne _021E9AF6
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9F80
|
|
cmp r0, #1
|
|
bne _021E9AF2
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #2
|
|
beq _021E9AF2
|
|
ldr r0, _021E9AF8 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E9AF2:
|
|
mov r0, #0
|
|
str r0, [r5, #0x10]
|
|
_021E9AF6:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E9AF8: .word 0x000005DD
|
|
_021E9AFC: .word 0x0000068B
|
|
thumb_func_end MOD16_021E99D8
|
|
|
|
thumb_func_start MOD16_021E9B00
|
|
MOD16_021E9B00: ; 0x021E9B00
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E9B60
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E9BFC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E9CF0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021E9DD8
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA1D8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021E9B00
|
|
|
|
thumb_func_start MOD16_021E9B3C
|
|
MOD16_021E9B3C: ; 0x021E9B3C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021E9DDC
|
|
add r0, r5, #0
|
|
bl MOD16_021E9DC0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021E9CAC
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E9B3C
|
|
|
|
thumb_func_start MOD16_021E9B60
|
|
MOD16_021E9B60: ; 0x021E9B60
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #4]
|
|
add r4, r2, #0
|
|
ldr r0, [r0, #0x30]
|
|
cmp r0, #0
|
|
beq _021E9B9E
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
mov r2, #4
|
|
bl MOD16_021D8CFC
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021D9D04
|
|
cmp r0, #1
|
|
bne _021E9B9E
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r5]
|
|
mov r1, #0x18
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl MOD16_021D8CFC
|
|
_021E9B9E:
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x22
|
|
mov r3, #5
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x3b
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r4, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #5
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E9B60
|
|
|
|
thumb_func_start MOD16_021E9BFC
|
|
MOD16_021E9BFC: ; 0x021E9BFC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021E9C9C ; =0x00000894
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x60
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x18]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009474
|
|
ldr r0, _021E9CA0 ; =0x0000083F
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xb
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x1c]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_02009474
|
|
ldr r0, _021E9CA4 ; =0x00000892
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5e
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x20]
|
|
ldr r0, _021E9CA8 ; =0x00000893
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5f
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x24]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9C9C: .word 0x00000894
|
|
_021E9CA0: .word 0x0000083F
|
|
_021E9CA4: .word 0x00000892
|
|
_021E9CA8: .word 0x00000893
|
|
thumb_func_end MOD16_021E9BFC
|
|
|
|
thumb_func_start MOD16_021E9CAC
|
|
MOD16_021E9CAC: ; 0x021E9CAC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x1c]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x20]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x24]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021E9CAC
|
|
|
|
thumb_func_start MOD16_021E9CF0
|
|
MOD16_021E9CF0: ; 0x021E9CF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021E9DBC ; =0x00000893
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r6, r2, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #5
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x54
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r7, #7
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x36
|
|
str r6, [sp, #0x48]
|
|
lsl r0, r0, #0xe
|
|
mov r6, #0x39
|
|
str r0, [sp, #0x38]
|
|
mov r4, #0
|
|
lsl r7, r7, #0xe
|
|
lsl r6, r6, #0xe
|
|
_021E9D60:
|
|
cmp r4, #5
|
|
bhi _021E9DA2
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E9D70: ; jump table
|
|
.short _021E9D80 - _021E9D70 - 2 ; case 0
|
|
.short _021E9D84 - _021E9D70 - 2 ; case 1
|
|
.short _021E9D8C - _021E9D70 - 2 ; case 2
|
|
.short _021E9D94 - _021E9D70 - 2 ; case 3
|
|
.short _021E9D9C - _021E9D70 - 2 ; case 4
|
|
.short _021E9D7C - _021E9D70 - 2 ; case 5
|
|
_021E9D7C:
|
|
str r6, [sp, #0x34]
|
|
b _021E9DA2
|
|
_021E9D80:
|
|
str r7, [sp, #0x34]
|
|
b _021E9DA2
|
|
_021E9D84:
|
|
mov r0, #0x11
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
b _021E9DA2
|
|
_021E9D8C:
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
b _021E9DA2
|
|
_021E9D94:
|
|
mov r0, #0x25
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
b _021E9DA2
|
|
_021E9D9C:
|
|
mov r0, #0x2f
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
_021E9DA2:
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
add r1, r4, #0
|
|
stmia r5!, {r0}
|
|
bl FUN_02020130
|
|
add r4, r4, #1
|
|
cmp r4, #6
|
|
blt _021E9D60
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9DBC: .word 0x00000893
|
|
thumb_func_end MOD16_021E9CF0
|
|
|
|
thumb_func_start MOD16_021E9DC0
|
|
MOD16_021E9DC0: ; 0x021E9DC0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E9DC6:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _021E9DC6
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9DC0
|
|
|
|
thumb_func_start MOD16_021E9DD8
|
|
MOD16_021E9DD8: ; 0x021E9DD8
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9DD8
|
|
|
|
thumb_func_start MOD16_021E9DDC
|
|
MOD16_021E9DDC: ; 0x021E9DDC
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9DDC
|
|
|
|
thumb_func_start MOD16_021E9DE0
|
|
MOD16_021E9DE0: ; 0x021E9DE0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E9DE8:
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _021E9DE8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E9DE0
|
|
|
|
thumb_func_start MOD16_021E9DFC
|
|
MOD16_021E9DFC: ; 0x021E9DFC
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021E9E04:
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _021E9E04
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E9DFC
|
|
|
|
thumb_func_start MOD16_021E9E18
|
|
MOD16_021E9E18: ; 0x021E9E18
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E90D8
|
|
cmp r0, #1
|
|
bne _021E9E2A
|
|
mov r1, #0
|
|
str r1, [r4, #0x28]
|
|
_021E9E2A:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021E9E18
|
|
|
|
thumb_func_start MOD16_021E9E2C
|
|
MOD16_021E9E2C: ; 0x021E9E2C
|
|
ldr r3, _021E9E30 ; =MOD16_021E9E34
|
|
bx r3
|
|
.align 2, 0
|
|
_021E9E30: .word MOD16_021E9E34
|
|
thumb_func_end MOD16_021E9E2C
|
|
|
|
thumb_func_start MOD16_021E9E34
|
|
MOD16_021E9E34: ; 0x021E9E34
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
bl MOD16_021E9E64
|
|
ldr r0, _021E9E5C ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021E9E58
|
|
add r0, r4, #0
|
|
bl MOD16_021E9014
|
|
mov r0, #1
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _021E9E60 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021E9E58:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E9E5C: .word 0x021C48B8
|
|
_021E9E60: .word 0x000005DD
|
|
thumb_func_end MOD16_021E9E34
|
|
|
|
thumb_func_start MOD16_021E9E64
|
|
MOD16_021E9E64: ; 0x021E9E64
|
|
mov r1, #0
|
|
str r1, [r0, #0x2c]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021E9E64
|
|
|
|
thumb_func_start MOD16_021E9E6C
|
|
MOD16_021E9E6C: ; 0x021E9E6C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #0xa8
|
|
bl AllocFromHeap
|
|
str r0, [r5, #0x18]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r2, #0x18
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0x1c
|
|
add r3, r2, #0
|
|
bl MOD16_021DB590
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r2, #0x18
|
|
add r0, #0x1c
|
|
mov r1, #0x44
|
|
add r3, r2, #0
|
|
bl MOD16_021DB590
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r2, #0x18
|
|
add r0, #0x38
|
|
mov r1, #0x6c
|
|
add r3, r2, #0
|
|
bl MOD16_021DB590
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r2, #0x18
|
|
add r0, #0x54
|
|
mov r1, #0x94
|
|
add r3, r2, #0
|
|
bl MOD16_021DB590
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021D9F80
|
|
cmp r0, #1
|
|
bne _021E9EFA
|
|
mov r1, #0
|
|
b _021E9EFC
|
|
_021E9EFA:
|
|
mov r1, #2
|
|
_021E9EFC:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r2, #0x18
|
|
add r0, #0x70
|
|
mov r1, #0xbc
|
|
add r3, r2, #0
|
|
bl MOD16_021DB590
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #5
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r2, #0x18
|
|
add r0, #0x8c
|
|
mov r1, #0xe4
|
|
add r3, r2, #0
|
|
bl MOD16_021DB590
|
|
add r0, r6, #0
|
|
bl MOD16_021DB490
|
|
str r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
mov r2, #6
|
|
mov r3, #1
|
|
bl MOD16_021DB4B0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021E9E6C
|
|
|
|
thumb_func_start MOD16_021E9F48
|
|
MOD16_021E9F48: ; 0x021E9F48
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #0x2c]
|
|
ldr r5, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021E9F58
|
|
b _021EA066
|
|
_021E9F58:
|
|
ldr r0, _021EA068 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021E9F6C
|
|
ldr r0, [r6, #0x14]
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl MOD16_021DB4CC
|
|
_021E9F6C:
|
|
ldr r0, _021EA068 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021E9F80
|
|
mov r1, #0
|
|
ldr r0, [r6, #0x14]
|
|
sub r2, r1, #1
|
|
bl MOD16_021DB4CC
|
|
_021E9F80:
|
|
ldr r0, _021EA068 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021EA066
|
|
ldr r0, [r6, #0x14]
|
|
bl MOD16_021DB528
|
|
cmp r0, #5
|
|
bhi _021EA066
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E9FA0: ; jump table
|
|
.short _021E9FAC - _021E9FA0 - 2 ; case 0
|
|
.short _021E9FC6 - _021E9FA0 - 2 ; case 1
|
|
.short _021E9FE0 - _021E9FA0 - 2 ; case 2
|
|
.short _021E9FFA - _021E9FA0 - 2 ; case 3
|
|
.short _021EA026 - _021E9FA0 - 2 ; case 4
|
|
.short _021EA052 - _021E9FA0 - 2 ; case 5
|
|
_021E9FAC:
|
|
ldr r2, [r5, #8]
|
|
cmp r2, #0
|
|
beq _021EA066
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD16_021E9E18
|
|
mov r0, #2
|
|
str r0, [r4, #0xc]
|
|
ldr r0, _021EA06C ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9FC6:
|
|
ldr r2, [r5, #8]
|
|
cmp r2, #1
|
|
beq _021EA066
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021E9E18
|
|
mov r0, #2
|
|
str r0, [r4, #0x10]
|
|
ldr r0, _021EA06C ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9FE0:
|
|
ldr r2, [r5, #8]
|
|
cmp r2, #2
|
|
beq _021EA066
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD16_021E9E18
|
|
mov r0, #2
|
|
str r0, [r4, #0x14]
|
|
ldr r0, _021EA06C ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021E9FFA:
|
|
ldr r2, [r5, #8]
|
|
cmp r2, #3
|
|
beq _021EA066
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl MOD16_021E9E18
|
|
cmp r0, #0
|
|
beq _021EA018
|
|
mov r0, #2
|
|
str r0, [r4, #0x18]
|
|
ldr r0, _021EA06C ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021EA018:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #2
|
|
beq _021EA066
|
|
ldr r0, _021EA070 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021EA026:
|
|
ldr r2, [r5, #8]
|
|
cmp r2, #4
|
|
beq _021EA066
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl MOD16_021E9E18
|
|
cmp r0, #0
|
|
beq _021EA044
|
|
mov r0, #2
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, _021EA06C ; =0x0000068B
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021EA044:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #2
|
|
beq _021EA066
|
|
ldr r0, _021EA070 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
pop {r4, r5, r6, pc}
|
|
_021EA052:
|
|
add r0, r5, #0
|
|
bl MOD16_021E9014
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
str r0, [r4, #0x20]
|
|
ldr r0, _021EA070 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021EA066:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EA068: .word 0x021C48B8
|
|
_021EA06C: .word 0x0000068B
|
|
_021EA070: .word 0x000005DD
|
|
thumb_func_end MOD16_021E9F48
|
|
|
|
thumb_func_start MOD16_021EA074
|
|
MOD16_021EA074: ; 0x021EA074
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #0x14]
|
|
bl MOD16_021DB4A8
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EA074
|
|
|
|
thumb_func_start MOD16_021EA08C
|
|
MOD16_021EA08C: ; 0x021EA08C
|
|
push {r3, lr}
|
|
ldr r3, [r1, #4]
|
|
mov r2, #0
|
|
str r2, [r1, #0x30]
|
|
ldr r1, [r3, #8]
|
|
cmp r1, #4
|
|
bhi _021EA0E8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EA0A6: ; jump table
|
|
.short _021EA0B0 - _021EA0A6 - 2 ; case 0
|
|
.short _021EA0BA - _021EA0A6 - 2 ; case 1
|
|
.short _021EA0C6 - _021EA0A6 - 2 ; case 2
|
|
.short _021EA0D2 - _021EA0A6 - 2 ; case 3
|
|
.short _021EA0DE - _021EA0A6 - 2 ; case 4
|
|
_021EA0B0:
|
|
ldr r0, [r0, #0x14]
|
|
mov r1, #4
|
|
bl MOD16_021DB4CC
|
|
pop {r3, pc}
|
|
_021EA0BA:
|
|
ldr r0, [r0, #0x14]
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD16_021DB4CC
|
|
pop {r3, pc}
|
|
_021EA0C6:
|
|
ldr r0, [r0, #0x14]
|
|
mov r1, #4
|
|
mov r2, #2
|
|
bl MOD16_021DB4CC
|
|
pop {r3, pc}
|
|
_021EA0D2:
|
|
ldr r0, [r0, #0x14]
|
|
mov r1, #4
|
|
mov r2, #3
|
|
bl MOD16_021DB4CC
|
|
pop {r3, pc}
|
|
_021EA0DE:
|
|
mov r1, #4
|
|
ldr r0, [r0, #0x14]
|
|
add r2, r1, #0
|
|
bl MOD16_021DB4CC
|
|
_021EA0E8:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA08C
|
|
|
|
thumb_func_start MOD16_021EA0EC
|
|
MOD16_021EA0EC: ; 0x021EA0EC
|
|
ldr r0, [r1, #4]
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _021EA118
|
|
ldr r0, [r1, #0x30]
|
|
cmp r0, #0
|
|
bne _021EA10A
|
|
ldr r0, _021EA11C ; =0x021C48B8
|
|
ldr r2, [r0, #0x48]
|
|
mov r0, #0x80
|
|
tst r0, r2
|
|
beq _021EA118
|
|
mov r0, #1
|
|
str r0, [r1, #0x30]
|
|
bx lr
|
|
_021EA10A:
|
|
ldr r0, _021EA11C ; =0x021C48B8
|
|
ldr r2, [r0, #0x48]
|
|
mov r0, #0x40
|
|
tst r0, r2
|
|
beq _021EA118
|
|
mov r0, #0
|
|
str r0, [r1, #0x30]
|
|
_021EA118:
|
|
bx lr
|
|
nop
|
|
_021EA11C: .word 0x021C48B8
|
|
thumb_func_end MOD16_021EA0EC
|
|
|
|
thumb_func_start MOD16_021EA120
|
|
MOD16_021EA120: ; 0x021EA120
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #0x14]
|
|
ldr r1, [r5]
|
|
add r6, r2, #0
|
|
bl MOD16_021D8B48
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EA13C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EA120
|
|
|
|
thumb_func_start MOD16_021EA13C
|
|
MOD16_021EA13C: ; 0x021EA13C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #8]
|
|
add r4, r1, #0
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #1
|
|
bne _021EA172
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021EA18C
|
|
ldr r1, [r6, #0x30]
|
|
cmp r1, #0
|
|
bne _021EA17A
|
|
cmp r0, #0
|
|
beq _021EA168
|
|
ldr r0, [r4, #0x14]
|
|
ldr r1, [r5]
|
|
bl MOD16_021D8B48
|
|
_021EA168:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EA17C
|
|
pop {r4, r5, r6, pc}
|
|
_021EA172:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD16_021EA18C
|
|
_021EA17A:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EA13C
|
|
|
|
thumb_func_start MOD16_021EA17C
|
|
MOD16_021EA17C: ; 0x021EA17C
|
|
ldr r3, _021EA188 ; =MOD16_021D8AD4
|
|
add r2, r0, #0
|
|
ldr r0, [r1, #0x14]
|
|
ldr r1, [r2]
|
|
bx r3
|
|
nop
|
|
_021EA188: .word MOD16_021D8AD4
|
|
thumb_func_end MOD16_021EA17C
|
|
|
|
thumb_func_start MOD16_021EA18C
|
|
MOD16_021EA18C: ; 0x021EA18C
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r5, r1, #0
|
|
bl MOD16_021D8B30
|
|
cmp r5, r0
|
|
beq _021EA1B0
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r5, #0
|
|
bl MOD16_021D8B14
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EA1B0:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA18C
|
|
|
|
thumb_func_start MOD16_021EA1B4
|
|
MOD16_021EA1B4: ; 0x021EA1B4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
lsl r0, r2, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #4]
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_020119D0
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA1B4
|
|
|
|
thumb_func_start MOD16_021EA1D8
|
|
MOD16_021EA1D8: ; 0x021EA1D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #8]
|
|
bl MOD16_021D9F80
|
|
cmp r0, #0
|
|
bne _021EA1EE
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021EA1EE:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EA1D8
|
|
|
|
thumb_func_start MOD16_021EA1F0
|
|
MOD16_021EA1F0: ; 0x021EA1F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021EA274
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EA2BC
|
|
str r4, [r5]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021EA310
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021EA230 ; =MOD16_021EA314
|
|
str r0, [r5, #8]
|
|
ldr r0, _021EA234 ; =MOD16_021EA35C
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021EA238 ; =MOD16_021EA388
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021EA23C ; =MOD16_021EA39C
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021EA240 ; =MOD16_021EA45C
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021EA244 ; =MOD16_021EA47C
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EA230: .word MOD16_021EA314
|
|
_021EA234: .word MOD16_021EA35C
|
|
_021EA238: .word MOD16_021EA388
|
|
_021EA23C: .word MOD16_021EA39C
|
|
_021EA240: .word MOD16_021EA45C
|
|
_021EA244: .word MOD16_021EA47C
|
|
thumb_func_end MOD16_021EA1F0
|
|
|
|
thumb_func_start MOD16_021EA248
|
|
MOD16_021EA248: ; 0x021EA248
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021EA2E8
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021EA2FC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA248
|
|
|
|
thumb_func_start MOD16_021EA25C
|
|
MOD16_021EA25C: ; 0x021EA25C
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #4]
|
|
str r2, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MOD16_021EA25C
|
|
|
|
thumb_func_start MOD16_021EA264
|
|
MOD16_021EA264: ; 0x021EA264
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA264
|
|
|
|
thumb_func_start MOD16_021EA26C
|
|
MOD16_021EA26C: ; 0x021EA26C
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA26C
|
|
|
|
thumb_func_start MOD16_021EA274
|
|
MOD16_021EA274: ; 0x021EA274
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EA286
|
|
bl ErrorHandling
|
|
_021EA286:
|
|
add r2, r4, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_021EA28C:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021EA28C
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0xc]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA274
|
|
|
|
thumb_func_start MOD16_021EA2BC
|
|
MOD16_021EA2BC: ; 0x021EA2BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x14
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EA2CE
|
|
bl ErrorHandling
|
|
_021EA2CE:
|
|
add r2, r4, #0
|
|
mov r1, #0x14
|
|
mov r0, #0
|
|
_021EA2D4:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021EA2D4
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA2BC
|
|
|
|
thumb_func_start MOD16_021EA2E8
|
|
MOD16_021EA2E8: ; 0x021EA2E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EA2F2
|
|
bl ErrorHandling
|
|
_021EA2F2:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA2E8
|
|
|
|
thumb_func_start MOD16_021EA2FC
|
|
MOD16_021EA2FC: ; 0x021EA2FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EA306
|
|
bl ErrorHandling
|
|
_021EA306:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA2FC
|
|
|
|
thumb_func_start MOD16_021EA310
|
|
MOD16_021EA310: ; 0x021EA310
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EA310
|
|
|
|
thumb_func_start MOD16_021EA314
|
|
MOD16_021EA314: ; 0x021EA314
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EA332
|
|
bl ErrorHandling
|
|
_021EA332:
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021EA338:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021EA338
|
|
str r4, [r5, #8]
|
|
add r0, r7, #0
|
|
bl FUN_02004E98
|
|
str r0, [r4]
|
|
bl FUN_02004E8C
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EAA8C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EA314
|
|
|
|
thumb_func_start MOD16_021EA35C
|
|
MOD16_021EA35C: ; 0x021EA35C
|
|
push {r3, r4, r5, lr}
|
|
ldr r2, [r0, #0xc]
|
|
add r5, r1, #0
|
|
ldr r4, [r0, #8]
|
|
cmp r2, #1
|
|
bne _021EA36C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EA36C:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021EA376
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021EA376:
|
|
add r0, r4, #0
|
|
bl MOD16_021EAA8C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EAE5C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA35C
|
|
|
|
thumb_func_start MOD16_021EA388
|
|
MOD16_021EA388: ; 0x021EA388
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA388
|
|
|
|
thumb_func_start MOD16_021EA39C
|
|
MOD16_021EA39C: ; 0x021EA39C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r3, [r3, #8]
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021EA458
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EA3BA: ; jump table
|
|
.short _021EA3C2 - _021EA3BA - 2 ; case 0
|
|
.short _021EA3E0 - _021EA3BA - 2 ; case 1
|
|
.short _021EA41C - _021EA3BA - 2 ; case 2
|
|
.short _021EA454 - _021EA3BA - 2 ; case 3
|
|
_021EA3C2:
|
|
mov r1, #0x33
|
|
ldr r0, [r4, #4]
|
|
lsl r1, r1, #4
|
|
bl AllocFromHeap
|
|
mov r2, #0x33
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA458
|
|
_021EA3E0:
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
bl MOD16_021EA784
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _021EA400
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021EA5BC
|
|
b _021EA40C
|
|
_021EA400:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021EA680
|
|
_021EA40C:
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl FUN_020053CC
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA458
|
|
_021EA41C:
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _021EA42E
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021EA634
|
|
b _021EA438
|
|
_021EA42E:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021EA70C
|
|
_021EA438:
|
|
cmp r0, #1
|
|
bne _021EA458
|
|
bl FUN_02005404
|
|
cmp r0, #0
|
|
bne _021EA458
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_020047C8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA458
|
|
_021EA454:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA458:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EA39C
|
|
|
|
thumb_func_start MOD16_021EA45C
|
|
MOD16_021EA45C: ; 0x021EA45C
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r3, #8]
|
|
ldr r5, [r1, #8]
|
|
add r2, r0, #0
|
|
add r1, r2, #0
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EAC1C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EAD04
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA45C
|
|
|
|
thumb_func_start MOD16_021EA47C
|
|
MOD16_021EA47C: ; 0x021EA47C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r3, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021EA518
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EA496: ; jump table
|
|
.short _021EA4A0 - _021EA496 - 2 ; case 0
|
|
.short _021EA4D2 - _021EA496 - 2 ; case 1
|
|
.short _021EA4F6 - _021EA496 - 2 ; case 2
|
|
.short _021EA504 - _021EA496 - 2 ; case 3
|
|
.short _021EA514 - _021EA496 - 2 ; case 4
|
|
_021EA4A0:
|
|
ldr r1, [r3, #0xc]
|
|
cmp r1, #0
|
|
bne _021EA4B0
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021EA5BC
|
|
b _021EA4B8
|
|
_021EA4B0:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021EA680
|
|
_021EA4B8:
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_020047C8
|
|
mov r0, #0x7f
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl FUN_0200538C
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA518
|
|
_021EA4D2:
|
|
ldr r1, [r3, #0xc]
|
|
cmp r1, #0
|
|
bne _021EA4E2
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021EA634
|
|
b _021EA4EA
|
|
_021EA4E2:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021EA70C
|
|
_021EA4EA:
|
|
cmp r0, #0
|
|
beq _021EA518
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA518
|
|
_021EA4F6:
|
|
add r1, r3, #0
|
|
bl MOD16_021EA7D0
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA518
|
|
_021EA504:
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EA518
|
|
_021EA514:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EA518:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EA47C
|
|
|
|
thumb_func_start MOD16_021EA51C
|
|
MOD16_021EA51C: ; 0x021EA51C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl MOD16_021D8700
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r2, r0, #0
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
mov r0, #0x40
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
mov r3, #2
|
|
bl MOD16_021D7FB4
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_02007558
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EA51C
|
|
|
|
thumb_func_start MOD16_021EA554
|
|
MOD16_021EA554: ; 0x021EA554
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r6, #1
|
|
_021EA55E:
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_021EA562:
|
|
ldr r0, [r5, #0x20]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #9
|
|
blt _021EA562
|
|
ldr r0, [r7, #0x68]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [sp]
|
|
add r7, #0x54
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
cmp r0, #9
|
|
blt _021EA55E
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EA554
|
|
|
|
thumb_func_start MOD16_021EA588
|
|
MOD16_021EA588: ; 0x021EA588
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r6, r0, #0
|
|
_021EA592:
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_021EA596:
|
|
ldr r0, [r5, #0x20]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #9
|
|
blt _021EA596
|
|
ldr r0, [r7, #0x68]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [sp]
|
|
add r7, #0x54
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
cmp r0, #9
|
|
blt _021EA592
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EA588
|
|
|
|
thumb_func_start MOD16_021EA5BC
|
|
MOD16_021EA5BC: ; 0x021EA5BC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021EA554
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021EA622
|
|
cmp r6, #0
|
|
beq _021EA5FE
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
sub r2, #0x13
|
|
bl MOD16_021D8988
|
|
b _021EA622
|
|
_021EA5FE:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #3
|
|
add r3, r1, #0
|
|
sub r3, #0x13
|
|
bl MOD16_021D8988
|
|
_021EA622:
|
|
mov r1, #0x5b
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
bl MOD16_021D8A8C
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA5BC
|
|
|
|
thumb_func_start MOD16_021EA634
|
|
MOD16_021EA634: ; 0x021EA634
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021EA654
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021EA65E
|
|
_021EA654:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021EA65E:
|
|
cmp r0, #0
|
|
beq _021EA670
|
|
cmp r4, #0
|
|
beq _021EA66C
|
|
add r0, r6, #0
|
|
bl MOD16_021EA588
|
|
_021EA66C:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021EA670:
|
|
mov r1, #0x5b
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
bl MOD16_021D8A8C
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EA634
|
|
|
|
thumb_func_start MOD16_021EA680
|
|
MOD16_021EA680: ; 0x021EA680
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021EA554
|
|
cmp r4, #0
|
|
bne _021EA6A8
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0x30
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r3, #0x40
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r7, #0
|
|
bl MOD16_021D8BD8
|
|
_021EA6A8:
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021EA706
|
|
cmp r4, #0
|
|
beq _021EA6E0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r2, #0x2f
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r1, [r5, #0x10]
|
|
sub r2, #0x3f
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021EA6E0:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r3, #0x2f
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r1, [r5, #0x10]
|
|
sub r3, #0x3f
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021D8988
|
|
_021EA706:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA680
|
|
|
|
thumb_func_start MOD16_021EA70C
|
|
MOD16_021EA70C: ; 0x021EA70C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bne _021EA72C
|
|
bl MOD16_021D8BF4
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, #4]
|
|
bl MOD16_021D86F4
|
|
b _021EA730
|
|
_021EA72C:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021EA730:
|
|
ldr r0, [r6, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r4]
|
|
beq _021EA74A
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
str r0, [sp, #4]
|
|
b _021EA756
|
|
_021EA74A:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
str r0, [sp, #4]
|
|
_021EA756:
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
_021EA75A:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _021EA768
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021EA75A
|
|
_021EA768:
|
|
cmp r1, #2
|
|
bne _021EA77C
|
|
cmp r7, #1
|
|
bne _021EA776
|
|
add r0, r5, #0
|
|
bl MOD16_021EA588
|
|
_021EA776:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA77C:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA70C
|
|
|
|
thumb_func_start MOD16_021EA784
|
|
MOD16_021EA784: ; 0x021EA784
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r6, [sp, #0x18]
|
|
add r7, r2, #0
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EA7F0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EA89C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EA9C0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021EAA84
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021EA51C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EACB0
|
|
add r0, r5, #0
|
|
bl MOD16_021EACE8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EA784
|
|
|
|
thumb_func_start MOD16_021EA7D0
|
|
MOD16_021EA7D0: ; 0x021EA7D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EAA88
|
|
add r0, r5, #0
|
|
bl MOD16_021EAA5C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EA964
|
|
add r0, r4, #0
|
|
bl MOD16_021EA858
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA7D0
|
|
|
|
thumb_func_start MOD16_021EA7F0
|
|
MOD16_021EA7F0: ; 0x021EA7F0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r5, r2, #0
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x46
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EA7F0
|
|
|
|
thumb_func_start MOD16_021EA858
|
|
MOD16_021EA858: ; 0x021EA858
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl FUN_0201AEE4
|
|
mov r1, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xc0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
add r0, r0, #4
|
|
add r3, r1, #0
|
|
bl FUN_020196F4
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201AB24
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EA858
|
|
|
|
thumb_func_start MOD16_021EA89C
|
|
MOD16_021EA89C: ; 0x021EA89C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021EA954 ; =0x00002B6C
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x74
|
|
bl FUN_020091E0
|
|
mov r1, #0xc5
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
bl FUN_02009B04
|
|
mov r0, #0xc5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021EA958 ; =0x00002B0B
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x13
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
mov r1, #0xc6
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
bl FUN_02009D68
|
|
mov r0, #0xc6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009474
|
|
ldr r0, _021EA95C ; =0x00002B6D
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x75
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r1, #0xc7
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, _021EA960 ; =0x00002B6B
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x73
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
mov r1, #0x32
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA954: .word 0x00002B6C
|
|
_021EA958: .word 0x00002B0B
|
|
_021EA95C: .word 0x00002B6D
|
|
_021EA960: .word 0x00002B6B
|
|
thumb_func_end MOD16_021EA89C
|
|
|
|
thumb_func_start MOD16_021EA964
|
|
MOD16_021EA964: ; 0x021EA964
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xc5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #0xc6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
mov r1, #0xc5
|
|
lsl r0, r0, #6
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
mov r1, #0xc6
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
mov r1, #0xc7
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, r1]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
mov r1, #0x32
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, r1]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EA964
|
|
|
|
thumb_func_start MOD16_021EA9C0
|
|
MOD16_021EA9C0: ; 0x021EA9C0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x74
|
|
ldr r4, [r1]
|
|
ldr r3, _021EAA58 ; =0x00002B6B
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #5
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
add r5, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x50
|
|
sub r2, #0x60
|
|
add r3, r3, #2
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r6, sp, #0x30
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0x50
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0x44]
|
|
mov r0, #1
|
|
str r0, [sp, #0x48]
|
|
mov r0, #0
|
|
str r5, [sp, #0x4c]
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x38]
|
|
str r0, [sp, #0x3c]
|
|
_021EAA2A:
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_021EAA2E:
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #0x20]
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #9
|
|
blt _021EAA2E
|
|
add r0, r6, #0
|
|
bl FUN_0201FF84
|
|
str r0, [r7, #0x68]
|
|
ldr r0, [sp, #0x2c]
|
|
add r7, #0x54
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x2c]
|
|
cmp r0, #9
|
|
blt _021EAA2A
|
|
add sp, #0x74
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EAA58: .word 0x00002B6B
|
|
thumb_func_end MOD16_021EA9C0
|
|
|
|
thumb_func_start MOD16_021EAA5C
|
|
MOD16_021EAA5C: ; 0x021EAA5C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r7, #0
|
|
_021EAA62:
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021EAA66:
|
|
ldr r0, [r5, #0x20]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #9
|
|
blt _021EAA66
|
|
ldr r0, [r6, #0x68]
|
|
bl FUN_0201FFC8
|
|
add r7, r7, #1
|
|
add r6, #0x54
|
|
cmp r7, #9
|
|
blt _021EAA62
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EAA5C
|
|
|
|
thumb_func_start MOD16_021EAA84
|
|
MOD16_021EAA84: ; 0x021EAA84
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAA84
|
|
|
|
thumb_func_start MOD16_021EAA88
|
|
MOD16_021EAA88: ; 0x021EAA88
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAA88
|
|
|
|
thumb_func_start MOD16_021EAA8C
|
|
MOD16_021EAA8C: ; 0x021EAA8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #0xc]
|
|
bl MOD16_021EAF10
|
|
add r2, r0, #0
|
|
ldr r1, [r4]
|
|
mov r0, #1
|
|
bl FUN_02004F28
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EAA8C
|
|
|
|
thumb_func_start MOD16_021EAAA4
|
|
MOD16_021EAAA4: ; 0x021EAAA4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
ldr r0, [sp, #0x44]
|
|
ldr r7, [sp, #0x3c]
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0x48]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0x48]
|
|
add r0, r2, #0
|
|
str r3, [sp, #0xc]
|
|
ldr r5, [sp, #0x40]
|
|
bl FUN_02004E80
|
|
str r0, [sp, #0x1c]
|
|
lsl r0, r7, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0x40
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r3, [sp, #0x44]
|
|
ldr r0, [r0]
|
|
sub r3, #0x20
|
|
lsl r2, r5, #0x10
|
|
lsl r3, r3, #0x10
|
|
add r0, r0, #4
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
bl FUN_020196F4
|
|
ldr r1, [sp, #0x38]
|
|
ldr r0, [sp, #0xc]
|
|
mov r6, #0
|
|
sub r0, r1, r0
|
|
cmp r7, #0
|
|
ble _021EAB48
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x14]
|
|
asr r0, r0, #0x1f
|
|
str r0, [sp, #0x18]
|
|
lsl r0, r7, #0xc
|
|
add r4, r6, #0
|
|
str r0, [sp, #0x10]
|
|
_021EAAFC:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
asr r3, r4, #0x1f
|
|
add r2, r4, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
ldr r2, _021EAB4C ; =0x00000000
|
|
adc r1, r2
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
ldr r1, [sp, #0x10]
|
|
bl FX_Div
|
|
asr r1, r0, #0xc
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x1c]
|
|
add r1, r1, r0
|
|
ldr r0, [sp, #0x48]
|
|
ldr r3, [sp, #0x44]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
ldrb r1, [r2, r1]
|
|
ldr r0, [r0]
|
|
add r2, r5, #0
|
|
add r0, r0, #4
|
|
bl MOD16_021EAB50
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
add r6, r6, #1
|
|
add r5, r5, #1
|
|
add r4, r4, r0
|
|
cmp r6, r7
|
|
blt _021EAAFC
|
|
_021EAB48:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EAB4C: .word 0x00000000
|
|
thumb_func_end MOD16_021EAAA4
|
|
|
|
thumb_func_start MOD16_021EAB50
|
|
MOD16_021EAB50: ; 0x021EAB50
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
str r0, [sp, #8]
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
ldr r4, [sp, #0x20]
|
|
cmp r5, #0x7f
|
|
bls _021EAB64
|
|
sub r5, #0xff
|
|
_021EAB64:
|
|
cmp r5, #0
|
|
beq _021EAB8E
|
|
lsl r2, r5, #0xc
|
|
asr r0, r2, #0x1f
|
|
lsr r1, r2, #0xf
|
|
lsl r0, r0, #0x11
|
|
orr r0, r1
|
|
mov r1, #2
|
|
lsl r3, r2, #0x11
|
|
mov r2, #0
|
|
lsl r1, r1, #0xa
|
|
add r3, r3, r1
|
|
adc r0, r2
|
|
lsl r1, r0, #0x14
|
|
lsr r0, r3, #0xc
|
|
orr r0, r1
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
asr r5, r0, #0xc
|
|
_021EAB8E:
|
|
ldr r1, [r4]
|
|
add r0, r7, r5
|
|
add r1, r7, r1
|
|
cmp r0, r1
|
|
ble _021EAB9E
|
|
add r3, r1, #0
|
|
sub r1, r0, r1
|
|
b _021EABA2
|
|
_021EAB9E:
|
|
add r3, r0, #0
|
|
sub r1, r1, r0
|
|
_021EABA2:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
lsl r2, r6, #0x10
|
|
lsl r3, r3, #0x10
|
|
ldr r0, [sp, #8]
|
|
mov r1, #6
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
bl FUN_020196F4
|
|
str r5, [r4]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EAB50
|
|
|
|
thumb_func_start MOD16_021EABC4
|
|
MOD16_021EABC4: ; 0x021EABC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
add r5, r1, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
add r6, r2, #0
|
|
add r4, r3, #0
|
|
str r0, [sp, #0x24]
|
|
sub r0, r6, r5
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
ldr r3, [sp, #0x20]
|
|
str r0, [sp]
|
|
mov r0, #0x40
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7]
|
|
sub r3, #0x20
|
|
lsl r2, r4, #0x10
|
|
lsl r3, r3, #0x10
|
|
add r0, r0, #4
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
bl FUN_020196F4
|
|
cmp r5, r6
|
|
bge _021EAC18
|
|
_021EABFE:
|
|
ldr r0, [sp, #0x24]
|
|
ldr r3, [sp, #0x20]
|
|
str r0, [sp]
|
|
ldr r0, [r7]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
add r2, r4, #0
|
|
bl MOD16_021EAB50
|
|
add r5, r5, #1
|
|
add r4, r4, #1
|
|
cmp r5, r6
|
|
blt _021EABFE
|
|
_021EAC18:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EABC4
|
|
|
|
thumb_func_start MOD16_021EAC1C
|
|
MOD16_021EAC1C: ; 0x021EAC1C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
mov r3, #0xc9
|
|
add r5, r0, #0
|
|
lsl r3, r3, #2
|
|
ldr r0, [r5, r3]
|
|
add r4, r1, #0
|
|
add r0, r0, #4
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5, r3]
|
|
add r6, r2, #0
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x18
|
|
sub r1, r1, r2
|
|
mov r0, #0x18
|
|
ror r1, r0
|
|
add r1, r2, r1
|
|
str r1, [r5, r3]
|
|
ldr r3, [r5, r3]
|
|
sub r3, #8
|
|
bpl _021EAC4A
|
|
add r0, #0xe8
|
|
add r3, r3, r0
|
|
_021EAC4A:
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #2
|
|
ldr r1, [r6, #4]
|
|
ldr r7, [r5, r0]
|
|
cmp r7, r1
|
|
beq _021EAC76
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
str r3, [sp, #8]
|
|
mov r1, #0x97
|
|
sub r0, r0, #4
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x10]
|
|
ldr r2, [r6]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021EAAA4
|
|
b _021EAC8A
|
|
_021EAC76:
|
|
mov r1, #0x97
|
|
sub r0, r0, #4
|
|
str r1, [sp]
|
|
add r0, r5, r0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #4
|
|
bl MOD16_021EABC4
|
|
_021EAC8A:
|
|
ldr r0, [r4]
|
|
mov r3, #0xc9
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0]
|
|
ldr r3, [r5, r3]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r4]
|
|
add r0, r0, #4
|
|
bl FUN_02019220
|
|
mov r0, #0xcb
|
|
ldr r1, [r6, #4]
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EAC1C
|
|
|
|
thumb_func_start MOD16_021EACB0
|
|
MOD16_021EACB0: ; 0x021EACB0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
add r0, r0, #4
|
|
bl FUN_0201AB24
|
|
mov r0, #0xca
|
|
mov r2, #0x97
|
|
lsl r0, r0, #2
|
|
str r2, [sp]
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r2, #0x69
|
|
add r3, r1, #0
|
|
bl MOD16_021EABC4
|
|
ldr r0, [r4]
|
|
add r0, r0, #4
|
|
bl FUN_020191D0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EACB0
|
|
|
|
thumb_func_start MOD16_021EACE8
|
|
MOD16_021EACE8: ; 0x021EACE8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
add r5, #0x20
|
|
_021EACF0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EAD24
|
|
add r4, r4, #1
|
|
add r5, #0x54
|
|
cmp r4, #9
|
|
blt _021EACF0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EACE8
|
|
|
|
thumb_func_start MOD16_021EAD04
|
|
MOD16_021EAD04: ; 0x021EAD04
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
add r5, #0x20
|
|
_021EAD0E:
|
|
add r1, r6, r4
|
|
ldrb r1, [r1, #0xc]
|
|
add r0, r5, #0
|
|
bl MOD16_021EAD88
|
|
add r4, r4, #1
|
|
add r5, #0x54
|
|
cmp r4, #9
|
|
blt _021EAD0E
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAD04
|
|
|
|
thumb_func_start MOD16_021EAD24
|
|
MOD16_021EAD24: ; 0x021EAD24
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp]
|
|
lsl r0, r1, #4
|
|
add r0, #0x70
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
mov r6, #2
|
|
ldr r5, [sp]
|
|
str r0, [sp, #8]
|
|
mov r4, #0
|
|
add r7, sp, #4
|
|
lsl r6, r6, #0xe
|
|
_021EAD42:
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl FUN_02020044
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [sp, #8]
|
|
mov r1, #1
|
|
sub r0, r0, r6
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
bl FUN_02020130
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #9
|
|
blt _021EAD42
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
ldr r0, [r0, #0x48]
|
|
bl FUN_02020044
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x48]
|
|
bl FUN_020200A0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAD24
|
|
|
|
thumb_func_start MOD16_021EAD88
|
|
MOD16_021EAD88: ; 0x021EAD88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
add r7, r1, #0
|
|
add r6, r0, #0
|
|
str r4, [sp]
|
|
cmp r7, #0
|
|
ble _021EADAC
|
|
add r5, r6, #0
|
|
_021EAD98:
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
add r4, r4, #1
|
|
lsl r0, r4, #1
|
|
str r0, [r5, #4]
|
|
add r5, #8
|
|
cmp r4, r7
|
|
blt _021EAD98
|
|
_021EADAC:
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
add r7, r5, #0
|
|
_021EADB2:
|
|
ldr r0, [r4]
|
|
bl FUN_02020128
|
|
cmp r0, #0
|
|
beq _021EADD4
|
|
ldr r0, [r4, #4]
|
|
sub r0, r0, #1
|
|
cmp r0, #0
|
|
ble _021EADCC
|
|
str r0, [r4, #4]
|
|
add r0, r5, #1
|
|
str r0, [sp]
|
|
b _021EADD4
|
|
_021EADCC:
|
|
ldr r0, [r4]
|
|
add r1, r7, #0
|
|
bl FUN_020200A0
|
|
_021EADD4:
|
|
add r5, r5, #1
|
|
add r4, #8
|
|
cmp r5, #9
|
|
blt _021EADB2
|
|
ldr r1, [r6, #0x4c]
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
bgt _021EAE04
|
|
ldr r0, [r6, #0x48]
|
|
ldr r1, [sp]
|
|
bl MOD16_021EAE2C
|
|
mov r0, #0x10
|
|
str r0, [r6, #0x50]
|
|
ldr r1, [r6, #0x4c]
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
bge _021EAE00
|
|
ldr r0, [r6, #0x48]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
_021EAE00:
|
|
ldr r0, [sp]
|
|
str r0, [r6, #0x4c]
|
|
_021EAE04:
|
|
ldr r1, [r6, #0x4c]
|
|
cmp r1, #0
|
|
ble _021EAE22
|
|
ldr r0, [r6, #0x50]
|
|
cmp r0, #0
|
|
bge _021EAE1C
|
|
sub r1, r1, #1
|
|
str r1, [r6, #0x4c]
|
|
ldr r0, [r6, #0x48]
|
|
bl MOD16_021EAE2C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EAE1C:
|
|
sub r0, r0, #1
|
|
str r0, [r6, #0x50]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EAE22:
|
|
ldr r0, [r6, #0x48]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EAD88
|
|
|
|
thumb_func_start MOD16_021EAE2C
|
|
MOD16_021EAE2C: ; 0x021EAE2C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_0202011C
|
|
add r6, r0, #0
|
|
add r3, sp, #0
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r6]
|
|
add r1, r2, #0
|
|
str r0, [r3]
|
|
lsl r0, r4, #3
|
|
neg r0, r0
|
|
add r0, #0x60
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EAE2C
|
|
|
|
thumb_func_start MOD16_021EAE5C
|
|
MOD16_021EAE5C: ; 0x021EAE5C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r1, #0xc]
|
|
bl MOD16_021EAF10
|
|
add r4, r0, #0
|
|
add r1, r5, #0
|
|
mov r0, #0
|
|
add r1, #0xc
|
|
strb r0, [r5, #0xc]
|
|
strb r0, [r1, #1]
|
|
strb r0, [r1, #2]
|
|
strb r0, [r1, #3]
|
|
strb r0, [r1, #4]
|
|
strb r0, [r1, #5]
|
|
strb r0, [r1, #6]
|
|
strb r0, [r1, #7]
|
|
strb r0, [r1, #8]
|
|
bl FUN_02005670
|
|
cmp r0, #0
|
|
beq _021EAE96
|
|
ldr r0, [r5]
|
|
add r5, #0xc
|
|
add r1, r5, #0
|
|
mov r2, #9
|
|
add r3, r4, #0
|
|
bl FUN_02004F70
|
|
_021EAE96:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EAE5C
|
|
|
|
thumb_func_start MOD16_021EAE98
|
|
MOD16_021EAE98: ; 0x021EAE98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EAF18
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021EAF58
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021EAF80
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021EAFB0
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021EAEE0 ; =MOD16_021EAFB4
|
|
str r0, [r5, #8]
|
|
ldr r0, _021EAEE4 ; =MOD16_021EAFF4
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021EAEE8 ; =MOD16_021EB078
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021EAEEC ; =MOD16_021EB08C
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021EAEF0 ; =MOD16_021EB114
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021EAEF4 ; =MOD16_021EB16C
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EAEE0: .word MOD16_021EAFB4
|
|
_021EAEE4: .word MOD16_021EAFF4
|
|
_021EAEE8: .word MOD16_021EB078
|
|
_021EAEEC: .word MOD16_021EB08C
|
|
_021EAEF0: .word MOD16_021EB114
|
|
_021EAEF4: .word MOD16_021EB16C
|
|
thumb_func_end MOD16_021EAE98
|
|
|
|
thumb_func_start MOD16_021EAEF8
|
|
MOD16_021EAEF8: ; 0x021EAEF8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021EAF84
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021EAF98
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021EAFAC
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EAEF8
|
|
|
|
thumb_func_start MOD16_021EAF10
|
|
MOD16_021EAF10: ; 0x021EAF10
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAF10
|
|
|
|
thumb_func_start MOD16_021EAF18
|
|
MOD16_021EAF18: ; 0x021EAF18
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EAF2A
|
|
bl ErrorHandling
|
|
_021EAF2A:
|
|
add r2, r4, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_021EAF30:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021EAF30
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AEC
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAF18
|
|
|
|
thumb_func_start MOD16_021EAF58
|
|
MOD16_021EAF58: ; 0x021EAF58
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EAF6A
|
|
bl ErrorHandling
|
|
_021EAF6A:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EAF58
|
|
|
|
thumb_func_start MOD16_021EAF80
|
|
MOD16_021EAF80: ; 0x021EAF80
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EAF80
|
|
|
|
thumb_func_start MOD16_021EAF84
|
|
MOD16_021EAF84: ; 0x021EAF84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EAF8E
|
|
bl ErrorHandling
|
|
_021EAF8E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAF84
|
|
|
|
thumb_func_start MOD16_021EAF98
|
|
MOD16_021EAF98: ; 0x021EAF98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EAFA2
|
|
bl ErrorHandling
|
|
_021EAFA2:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAF98
|
|
|
|
thumb_func_start MOD16_021EAFAC
|
|
MOD16_021EAFAC: ; 0x021EAFAC
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EAFAC
|
|
|
|
thumb_func_start MOD16_021EAFB0
|
|
MOD16_021EAFB0: ; 0x021EAFB0
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EAFB0
|
|
|
|
thumb_func_start MOD16_021EAFB4
|
|
MOD16_021EAFB4: ; 0x021EAFB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x70
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x70
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EB31C
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EB3D0
|
|
add r0, r7, #0
|
|
bl FUN_02004E98
|
|
str r0, [r4, #0x6c]
|
|
str r4, [r5, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EAFB4
|
|
|
|
thumb_func_start MOD16_021EAFF4
|
|
MOD16_021EAFF4: ; 0x021EAFF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021EB010
|
|
add r0, r4, #0
|
|
bl MOD16_021EC000
|
|
add r0, r4, #0
|
|
bl MOD16_021EC010
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EB010:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021EB01A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB01A:
|
|
ldr r0, [r4, #0x3c]
|
|
str r0, [r5, #0xc]
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021EB074
|
|
bl FUN_02005670
|
|
cmp r0, #0
|
|
bne _021EB03C
|
|
ldr r0, [r4, #0x64]
|
|
cmp r0, #0
|
|
bne _021EB03C
|
|
add r0, r4, #0
|
|
bl MOD16_021EC000
|
|
_021EB03C:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EB3D0
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #0
|
|
beq _021EB060
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #0
|
|
beq _021EB060
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EC144
|
|
_021EB060:
|
|
ldr r0, [r4, #0x64]
|
|
cmp r0, #0
|
|
beq _021EB074
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _021EB074
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EC030
|
|
_021EB074:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EAFF4
|
|
|
|
thumb_func_start MOD16_021EB078
|
|
MOD16_021EB078: ; 0x021EB078
|
|
push {r4, lr}
|
|
ldr r4, [r0, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021EB3F4
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EB078
|
|
|
|
thumb_func_start MOD16_021EB08C
|
|
MOD16_021EB08C: ; 0x021EB08C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021EB110
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EB0A8: ; jump table
|
|
.short _021EB0B0 - _021EB0A8 - 2 ; case 0
|
|
.short _021EB0CA - _021EB0A8 - 2 ; case 1
|
|
.short _021EB0E8 - _021EB0A8 - 2 ; case 2
|
|
.short _021EB0FE - _021EB0A8 - 2 ; case 3
|
|
_021EB0B0:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x74
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x74
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB110
|
|
_021EB0CA:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EB6C0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021EB270
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB110
|
|
_021EB0E8:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021EB2E0
|
|
cmp r0, #0
|
|
beq _021EB110
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB110
|
|
_021EB0FE:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B3C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB110:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EB08C
|
|
|
|
thumb_func_start MOD16_021EB114
|
|
MOD16_021EB114: ; 0x021EB114
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r6, #8]
|
|
ldr r4, [r3, #8]
|
|
ldr r5, [r1, #8]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021EB168
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EBBA0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EBBF0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EBC18
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EBD3C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EBD58
|
|
add r0, r5, #0
|
|
bl MOD16_021EBE38
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EC120
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EC1B8
|
|
_021EB168:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EB114
|
|
|
|
thumb_func_start MOD16_021EB16C
|
|
MOD16_021EB16C: ; 0x021EB16C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021EB1F4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EB188: ; jump table
|
|
.short _021EB192 - _021EB188 - 2 ; case 0
|
|
.short _021EB1BA - _021EB188 - 2 ; case 1
|
|
.short _021EB1D0 - _021EB188 - 2 ; case 2
|
|
.short _021EB1E2 - _021EB188 - 2 ; case 3
|
|
.short _021EB1F0 - _021EB188 - 2 ; case 4
|
|
_021EB192:
|
|
mov r0, #0x79
|
|
ldr r1, [r6]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl MOD16_021D8B3C
|
|
add r0, r5, #0
|
|
bl MOD16_021EC0A8
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021EB270
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB1F4
|
|
_021EB1BA:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl MOD16_021EB2E0
|
|
cmp r0, #0
|
|
beq _021EB1F4
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB1F4
|
|
_021EB1D0:
|
|
ldr r2, [r4, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EB6FC
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB1F4
|
|
_021EB1E2:
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EB1F4
|
|
_021EB1F0:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB1F4:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EB16C
|
|
|
|
thumb_func_start MOD16_021EB1F8
|
|
MOD16_021EB1F8: ; 0x021EB1F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #0x3c]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
ldr r0, [r4, #0x54]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB1F8
|
|
|
|
thumb_func_start MOD16_021EB234
|
|
MOD16_021EB234: ; 0x021EB234
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #0x3c]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
ldr r0, [r4, #0x54]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB234
|
|
|
|
thumb_func_start MOD16_021EB270
|
|
MOD16_021EB270: ; 0x021EB270
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021EB1F8
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021EB2DC
|
|
cmp r6, #0
|
|
beq _021EB2B6
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
sub r2, #0x13
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EB2B6:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #3
|
|
add r3, r1, #0
|
|
sub r3, #0x13
|
|
bl MOD16_021D8988
|
|
_021EB2DC:
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EB270
|
|
|
|
thumb_func_start MOD16_021EB2E0
|
|
MOD16_021EB2E0: ; 0x021EB2E0
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021EB300
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021EB306
|
|
_021EB300:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
_021EB306:
|
|
cmp r0, #0
|
|
beq _021EB318
|
|
cmp r4, #0
|
|
beq _021EB314
|
|
add r0, r6, #0
|
|
bl MOD16_021EB234
|
|
_021EB314:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021EB318:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EB2E0
|
|
|
|
thumb_func_start MOD16_021EB31C
|
|
MOD16_021EB31C: ; 0x021EB31C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
str r0, [r5, #4]
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
str r0, [r5, #0x10]
|
|
mov r0, #0x6a
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x35
|
|
mov r2, #0x51
|
|
mov r3, #0x16
|
|
bl MOD16_021D7C98
|
|
ldr r1, [r5, #4]
|
|
mov r0, #0xfe
|
|
strb r0, [r1, #4]
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0x33
|
|
strb r2, [r1, #5]
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0x9d
|
|
strb r2, [r1, #6]
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0x20
|
|
strb r2, [r1, #7]
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0x9b
|
|
strb r0, [r1, #8]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xb3
|
|
strb r1, [r0, #9]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x7b
|
|
strb r1, [r0, #0xa]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x48
|
|
strb r1, [r0, #0xb]
|
|
mov r0, #0xcc
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x6b
|
|
mov r3, #0x9c
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xf6
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x96
|
|
add r0, r0, #4
|
|
mov r2, #0xb6
|
|
mov r3, #0xd6
|
|
bl MOD16_021D7C98
|
|
str r6, [r5, #8]
|
|
str r5, [r5, #0xc]
|
|
str r4, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r2, _021EB3C8 ; =MOD16_021EB41C
|
|
mov r1, #3
|
|
add r3, #8
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
str r4, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, _021EB3CC ; =MOD16_021EB45C
|
|
mov r1, #2
|
|
add r3, #8
|
|
bl FUN_020220C4
|
|
str r0, [r5, #0x14]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021EB3C8: .word MOD16_021EB41C
|
|
_021EB3CC: .word MOD16_021EB45C
|
|
thumb_func_end MOD16_021EB31C
|
|
|
|
thumb_func_start MOD16_021EB3D0
|
|
MOD16_021EB3D0: ; 0x021EB3D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #0x64
|
|
_021EB3DA:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x18]
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021EB3DA
|
|
ldr r0, [r4]
|
|
bl FUN_02022144
|
|
ldr r0, [r4, #0x14]
|
|
bl FUN_02022144
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB3D0
|
|
|
|
thumb_func_start MOD16_021EB3F4
|
|
MOD16_021EB3F4: ; 0x021EB3F4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #0x14]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4, #0x10]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB3F4
|
|
|
|
thumb_func_start MOD16_021EB41C
|
|
MOD16_021EB41C: ; 0x021EB41C
|
|
push {r3, lr}
|
|
ldr r3, [r2]
|
|
ldr r2, [r2, #4]
|
|
cmp r1, #3
|
|
bhi _021EB458
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EB432: ; jump table
|
|
.short _021EB43A - _021EB432 - 2 ; case 0
|
|
.short _021EB44A - _021EB432 - 2 ; case 1
|
|
.short _021EB442 - _021EB432 - 2 ; case 2
|
|
.short _021EB452 - _021EB432 - 2 ; case 3
|
|
_021EB43A:
|
|
add r1, r3, #0
|
|
bl MOD16_021EB4F8
|
|
pop {r3, pc}
|
|
_021EB442:
|
|
add r1, r3, #0
|
|
bl MOD16_021EB568
|
|
pop {r3, pc}
|
|
_021EB44A:
|
|
add r1, r3, #0
|
|
bl MOD16_021EB648
|
|
pop {r3, pc}
|
|
_021EB452:
|
|
add r1, r3, #0
|
|
bl MOD16_021EB684
|
|
_021EB458:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB41C
|
|
|
|
thumb_func_start MOD16_021EB45C
|
|
MOD16_021EB45C: ; 0x021EB45C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r7, [r2]
|
|
add r5, r0, #0
|
|
ldr r0, [r7, #4]
|
|
ldr r4, [r2, #4]
|
|
add r6, r1, #0
|
|
bl MOD16_021D9DE8
|
|
str r0, [sp]
|
|
lsl r0, r5, #2
|
|
add r0, r4, r0
|
|
str r6, [r0, #0x18]
|
|
cmp r6, #3
|
|
bhi _021EB4F0
|
|
add r0, r6, r6
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EB484: ; jump table
|
|
.short _021EB48C - _021EB484 - 2 ; case 0
|
|
.short _021EB4F0 - _021EB484 - 2 ; case 1
|
|
.short _021EB492 - _021EB484 - 2 ; case 2
|
|
.short _021EB4F0 - _021EB484 - 2 ; case 3
|
|
_021EB48C:
|
|
mov r0, #0
|
|
str r0, [r4, #0x24]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB492:
|
|
ldr r0, [r4, #0x24]
|
|
cmp r0, #0
|
|
bne _021EB4F0
|
|
mov r2, #1
|
|
str r2, [r4, #0x24]
|
|
cmp r5, #0
|
|
beq _021EB4A6
|
|
cmp r5, #1
|
|
beq _021EB4DC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB4A6:
|
|
ldr r0, [r4, #0x64]
|
|
cmp r0, #1
|
|
ldr r0, [r4, #0x2c]
|
|
bne _021EB4C6
|
|
cmp r0, #0
|
|
bne _021EB4BE
|
|
ldr r2, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021EBFD4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB4BE:
|
|
add r0, r4, #0
|
|
bl MOD16_021EC000
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB4C6:
|
|
cmp r0, #1
|
|
bne _021EB4D0
|
|
mov r0, #0
|
|
bl FUN_02005614
|
|
_021EB4D0:
|
|
ldr r2, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021EBFD4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB4DC:
|
|
mov r0, #2
|
|
str r0, [r4, #0x28]
|
|
ldr r1, [r4, #0x64]
|
|
add r0, r4, #0
|
|
eor r1, r2
|
|
bl MOD16_021EC060
|
|
ldr r0, _021EB4F4 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021EB4F0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EB4F4: .word 0x000005DD
|
|
thumb_func_end MOD16_021EB45C
|
|
|
|
thumb_func_start MOD16_021EB4F8
|
|
MOD16_021EB4F8: ; 0x021EB4F8
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
beq _021EB50A
|
|
cmp r0, #1
|
|
beq _021EB522
|
|
cmp r0, #2
|
|
beq _021EB53E
|
|
pop {r4, pc}
|
|
_021EB50A:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #1
|
|
bne _021EB516
|
|
add r0, r4, #0
|
|
bl MOD16_021EC000
|
|
_021EB516:
|
|
ldr r0, _021EB564 ; =0x021C48F8
|
|
ldrh r0, [r0, #0x1c]
|
|
str r0, [r4, #0x38]
|
|
mov r0, #1
|
|
str r0, [r4, #0x30]
|
|
pop {r4, pc}
|
|
_021EB522:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #1
|
|
bne _021EB52E
|
|
add r0, r4, #0
|
|
bl MOD16_021EC000
|
|
_021EB52E:
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
ldr r0, _021EB564 ; =0x021C48F8
|
|
ldrh r1, [r0, #0x1c]
|
|
str r1, [r4, #0x54]
|
|
ldrh r0, [r0, #0x1e]
|
|
str r0, [r4, #0x58]
|
|
pop {r4, pc}
|
|
_021EB53E:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _021EB55C
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_02020A40
|
|
str r0, [r4, #0x20]
|
|
ldr r0, [r4, #0x10]
|
|
add r0, r0, #4
|
|
bl FUN_02020A40
|
|
ldr r1, [r4, #0x20]
|
|
orr r0, r1
|
|
str r0, [r4, #0x20]
|
|
pop {r4, pc}
|
|
_021EB55C:
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
pop {r4, pc}
|
|
nop
|
|
_021EB564: .word 0x021C48F8
|
|
thumb_func_end MOD16_021EB4F8
|
|
|
|
thumb_func_start MOD16_021EB568
|
|
MOD16_021EB568: ; 0x021EB568
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
beq _021EB57A
|
|
cmp r0, #1
|
|
beq _021EB5BA
|
|
cmp r0, #2
|
|
beq _021EB5DE
|
|
pop {r4, pc}
|
|
_021EB57A:
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #1
|
|
bne _021EB638
|
|
ldr r1, _021EB63C ; =0x021C48F8
|
|
ldr r0, [r4, #0x38]
|
|
ldrh r2, [r1, #0x1c]
|
|
sub r2, r2, r0
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
bne _021EB5A2
|
|
cmp r2, #0xc
|
|
blt _021EB638
|
|
mov r0, #1
|
|
str r0, [r4, #0x34]
|
|
ldrh r0, [r1, #0x1c]
|
|
str r0, [r4, #0x38]
|
|
ldr r0, _021EB640 ; =0x000005F7
|
|
bl FUN_020054C8
|
|
pop {r4, pc}
|
|
_021EB5A2:
|
|
mov r0, #0xb
|
|
mvn r0, r0
|
|
cmp r2, r0
|
|
bgt _021EB638
|
|
mov r0, #0
|
|
str r0, [r4, #0x34]
|
|
ldrh r0, [r1, #0x1c]
|
|
str r0, [r4, #0x38]
|
|
ldr r0, _021EB640 ; =0x000005F7
|
|
bl FUN_020054C8
|
|
pop {r4, pc}
|
|
_021EB5BA:
|
|
ldr r0, [r4, #0x4c]
|
|
cmp r0, #1
|
|
bne _021EB638
|
|
add r0, r4, #0
|
|
bl MOD16_021EBC30
|
|
add r0, r4, #0
|
|
bl MOD16_021EBC98
|
|
add r0, r4, #0
|
|
bl MOD16_021EBCC4
|
|
ldr r0, _021EB63C ; =0x021C48F8
|
|
ldrh r1, [r0, #0x1c]
|
|
str r1, [r4, #0x54]
|
|
ldrh r0, [r0, #0x1e]
|
|
str r0, [r4, #0x58]
|
|
pop {r4, pc}
|
|
_021EB5DE:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _021EB638
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
bne _021EB5F8
|
|
mov r0, #1
|
|
str r0, [r4, #0x20]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD16_021EC0C0
|
|
b _021EB632
|
|
_021EB5F8:
|
|
ldr r1, _021EB63C ; =0x021C48F8
|
|
ldrh r0, [r1, #0x1e]
|
|
cmp r0, #0x83
|
|
bhs _021EB626
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
bne _021EB610
|
|
ldrh r1, [r1, #0x1c]
|
|
add r0, r4, #0
|
|
bl MOD16_021EBDD0
|
|
b _021EB618
|
|
_021EB610:
|
|
ldrh r1, [r1, #0x1c]
|
|
add r0, r4, #0
|
|
bl MOD16_021EBE04
|
|
_021EB618:
|
|
mov r0, #0
|
|
str r0, [r4, #0x3c]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021EC0C0
|
|
b _021EB632
|
|
_021EB626:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD16_021EC0D8
|
|
ldr r0, _021EB644 ; =0xFFFFFA00
|
|
str r0, [r4, #0x3c]
|
|
_021EB632:
|
|
add r0, r4, #0
|
|
bl MOD16_021EC0E8
|
|
_021EB638:
|
|
pop {r4, pc}
|
|
nop
|
|
_021EB63C: .word 0x021C48F8
|
|
_021EB640: .word 0x000005F7
|
|
_021EB644: .word 0xFFFFFA00
|
|
thumb_func_end MOD16_021EB568
|
|
|
|
thumb_func_start MOD16_021EB648
|
|
MOD16_021EB648: ; 0x021EB648
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
beq _021EB65A
|
|
cmp r0, #1
|
|
beq _021EB660
|
|
cmp r0, #2
|
|
beq _021EB66C
|
|
pop {r4, pc}
|
|
_021EB65A:
|
|
mov r0, #0
|
|
str r0, [r4, #0x30]
|
|
pop {r4, pc}
|
|
_021EB660:
|
|
ldr r0, [r4, #0x60]
|
|
lsl r0, r0, #2
|
|
str r0, [r4, #0x5c]
|
|
mov r0, #0
|
|
str r0, [r4, #0x4c]
|
|
pop {r4, pc}
|
|
_021EB66C:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _021EB680
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD16_021EC0C0
|
|
add r0, r4, #0
|
|
bl MOD16_021EC0E8
|
|
_021EB680:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB648
|
|
|
|
thumb_func_start MOD16_021EB684
|
|
MOD16_021EB684: ; 0x021EB684
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
beq _021EB696
|
|
cmp r0, #1
|
|
beq _021EB69C
|
|
cmp r0, #2
|
|
beq _021EB6A8
|
|
pop {r4, pc}
|
|
_021EB696:
|
|
mov r0, #0
|
|
str r0, [r4, #0x30]
|
|
pop {r4, pc}
|
|
_021EB69C:
|
|
ldr r0, [r4, #0x60]
|
|
lsl r0, r0, #2
|
|
str r0, [r4, #0x5c]
|
|
mov r0, #0
|
|
str r0, [r4, #0x4c]
|
|
pop {r4, pc}
|
|
_021EB6A8:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _021EB6BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD16_021EC0C0
|
|
add r0, r4, #0
|
|
bl MOD16_021EC0E8
|
|
_021EB6BC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB684
|
|
|
|
thumb_func_start MOD16_021EB6C0
|
|
MOD16_021EB6C0: ; 0x021EB6C0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EB724
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EB830
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EB920
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EBAA4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EC068
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB6C0
|
|
|
|
thumb_func_start MOD16_021EB6FC
|
|
MOD16_021EB6FC: ; 0x021EB6FC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EBA84
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EBB88
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EB8DC
|
|
add r0, r4, #0
|
|
bl MOD16_021EB80C
|
|
add r0, r5, #0
|
|
bl MOD16_021EC080
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EB6FC
|
|
|
|
thumb_func_start MOD16_021EB724
|
|
MOD16_021EB724: ; 0x021EB724
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x22
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x47
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x23
|
|
mov r3, #7
|
|
bl MOD16_021D8CB4
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x48
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r4, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #7
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
ldr r0, [r5]
|
|
mov r2, #0
|
|
add r3, r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #7
|
|
sub r3, #0x30
|
|
bl FUN_020179E0
|
|
ldr r0, [r5]
|
|
mov r2, #3
|
|
add r3, r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #7
|
|
sub r3, #0x13
|
|
bl FUN_020179E0
|
|
mov r0, #7
|
|
mov r1, #3
|
|
bl FUN_020178BC
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EB724
|
|
|
|
thumb_func_start MOD16_021EB80C
|
|
MOD16_021EB80C: ; 0x021EB80C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
mov r0, #7
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB80C
|
|
|
|
thumb_func_start MOD16_021EB830
|
|
MOD16_021EB830: ; 0x021EB830
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021EB8D0 ; =0x00002781
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x71
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x58]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x58]
|
|
bl FUN_02009474
|
|
ldr r0, _021EB8D4 ; =0x00002722
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x12
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x5c]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #0x5c]
|
|
bl FUN_02009474
|
|
ldr r0, _021EB8D8 ; =0x00002782
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x72
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x60]
|
|
mov r0, #0x9e
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x70
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x64]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EB8D0: .word 0x00002781
|
|
_021EB8D4: .word 0x00002722
|
|
_021EB8D8: .word 0x00002782
|
|
thumb_func_end MOD16_021EB830
|
|
|
|
thumb_func_start MOD16_021EB8DC
|
|
MOD16_021EB8DC: ; 0x021EB8DC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x58]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x5c]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x58]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x5c]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x60]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x64]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EB8DC
|
|
|
|
thumb_func_start MOD16_021EB920
|
|
MOD16_021EB920: ; 0x021EB920
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
mov r3, #0x9e
|
|
add r5, r0, #0
|
|
lsl r3, r3, #6
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r2, #0x5e
|
|
add r3, r3, #2
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x43
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
lsl r0, r0, #0x11
|
|
str r0, [sp, #0x34]
|
|
mov r0, #3
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
str r6, [sp, #0x48]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #0x3c]
|
|
mov r1, #4
|
|
bl FUN_02020130
|
|
ldr r0, [r5, #0x3c]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r1, #2
|
|
ldr r0, [r5, #0x3c]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020200D8
|
|
ldr r0, [r5, #0x3c]
|
|
mov r1, #8
|
|
bl FUN_02020208
|
|
mov r0, #0x33
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0x9d
|
|
mov r0, #3
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_020200EC
|
|
mov r0, #0x2d
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0x83
|
|
mov r0, #3
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #4]
|
|
mov r1, #3
|
|
bl FUN_02020130
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r1, #2
|
|
ldr r0, [r5, #4]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020200D8
|
|
ldr r0, [r5, #4]
|
|
mov r1, #5
|
|
bl FUN_02020208
|
|
mov r2, #3
|
|
str r2, [r5, #8]
|
|
mov r1, #2
|
|
str r1, [r5, #0xc]
|
|
str r2, [r5, #0x10]
|
|
mov r0, #5
|
|
str r0, [r5, #0x18]
|
|
mov r0, #0xe6
|
|
str r1, [r5, #0x1c]
|
|
lsl r0, r0, #0xc
|
|
mov r1, #0xa6
|
|
str r0, [sp, #0x34]
|
|
lsl r1, r1, #0xc
|
|
lsl r0, r2, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #0x20]
|
|
mov r1, #6
|
|
bl FUN_02020130
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r1, #2
|
|
ldr r0, [r5, #0x20]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020200D8
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #5
|
|
bl FUN_02020208
|
|
mov r1, #6
|
|
str r1, [r5, #0x24]
|
|
mov r0, #5
|
|
str r0, [r5, #0x28]
|
|
str r1, [r5, #0x2c]
|
|
str r0, [r5, #0x34]
|
|
mov r0, #2
|
|
str r0, [r5, #0x38]
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EB920
|
|
|
|
thumb_func_start MOD16_021EBA84
|
|
MOD16_021EBA84: ; 0x021EBA84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x3c]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #4]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x20]
|
|
bl FUN_0201FFC8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBA84
|
|
|
|
thumb_func_start MOD16_021EBAA4
|
|
MOD16_021EBAA4: ; 0x021EBAA4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r4, [r1]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021EBB80 ; =0x00002722
|
|
add r6, r2, #0
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
mov r2, #0
|
|
mov r1, #0x45
|
|
lsl r1, r1, #2
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #2
|
|
str r0, [sp, #0x10]
|
|
str r2, [sp, #0x14]
|
|
str r1, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r6, [sp, #0x2c]
|
|
bl FUN_0201E28C
|
|
add r7, r0, #0
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021EBB84 ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x29
|
|
bl MOD16_021DB3C8
|
|
lsr r1, r0, #1
|
|
mov r0, #0x40
|
|
sub r0, r0, r1
|
|
str r0, [sp, #0x18]
|
|
str r6, [sp, #0xc]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x50]
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #8
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021EBB84 ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x2a
|
|
bl MOD16_021DB3C8
|
|
lsr r1, r0, #1
|
|
mov r0, #0x40
|
|
sub r0, r0, r1
|
|
str r0, [sp, #0x18]
|
|
str r6, [sp, #0xc]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0x54]
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
ldr r0, [r5, #0x54]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EBB80: .word 0x00002722
|
|
_021EBB84: .word 0x00000266
|
|
thumb_func_end MOD16_021EBAA4
|
|
|
|
thumb_func_start MOD16_021EBB88
|
|
MOD16_021EBB88: ; 0x021EBB88
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021EBB8E:
|
|
ldr r0, [r5, #0x50]
|
|
bl MOD16_021DB338
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021EBB8E
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBB88
|
|
|
|
thumb_func_start MOD16_021EBBA0
|
|
MOD16_021EBBA0: ; 0x021EBBA0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5, #0x40]
|
|
ldr r0, [r4, #0x34]
|
|
cmp r1, r0
|
|
beq _021EBBEC
|
|
ldr r0, [r5, #0x3c]
|
|
bl FUN_0202022C
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x3c]
|
|
bne _021EBBD4
|
|
mov r1, #4
|
|
bl FUN_02020130
|
|
mov r1, #8
|
|
sub r1, r1, r6
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r5, #0x3c]
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
b _021EBBE8
|
|
_021EBBD4:
|
|
mov r1, #0
|
|
bl FUN_02020130
|
|
mov r1, #8
|
|
sub r1, r1, r6
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r5, #0x3c]
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
_021EBBE8:
|
|
ldr r0, [r4, #0x34]
|
|
str r0, [r5, #0x40]
|
|
_021EBBEC:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBBA0
|
|
|
|
thumb_func_start MOD16_021EBBF0
|
|
MOD16_021EBBF0: ; 0x021EBBF0
|
|
push {r4, lr}
|
|
add r2, r1, #0
|
|
add r4, r0, #0
|
|
ldr r0, [r2, #0x64]
|
|
ldr r3, [r2, #0x18]
|
|
cmp r0, #0
|
|
ldr r0, [r4, #4]
|
|
bne _021EBC0C
|
|
add r4, #8
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl MOD16_021EBEE4
|
|
pop {r4, pc}
|
|
_021EBC0C:
|
|
add r4, #8
|
|
ldr r2, [r2, #0x2c]
|
|
add r1, r4, #0
|
|
bl MOD16_021EBE6C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EBBF0
|
|
|
|
thumb_func_start MOD16_021EBC18
|
|
MOD16_021EBC18: ; 0x021EBC18
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
ldr r0, [r2, #0x20]
|
|
add r3, r1, #0
|
|
add r2, #0x24
|
|
add r1, r2, #0
|
|
ldr r2, [r3, #0x64]
|
|
ldr r3, [r3, #0x1c]
|
|
bl MOD16_021EBE6C
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBC18
|
|
|
|
thumb_func_start MOD16_021EBC30
|
|
MOD16_021EBC30: ; 0x021EBC30
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, _021EBC94 ; =0x021C48F8
|
|
ldr r0, [r5, #0x54]
|
|
ldrh r2, [r3, #0x1c]
|
|
ldrh r3, [r3, #0x1e]
|
|
ldr r1, [r5, #0x58]
|
|
sub r0, #0x33
|
|
sub r1, #0x9d
|
|
sub r2, #0x33
|
|
sub r3, #0x9d
|
|
bl FUN_0201BBD0
|
|
add r6, r0, #0
|
|
bpl _021EBC56
|
|
neg r0, r6
|
|
_021EBC56:
|
|
cmp r0, #1
|
|
blt _021EBC90
|
|
ldr r0, [r5, #0x5c]
|
|
add r4, r5, #0
|
|
add r4, #0x5c
|
|
add r0, r0, r6
|
|
str r0, [r5, #0x5c]
|
|
ldr r0, [r4]
|
|
bpl _021EBC6E
|
|
add r0, #0x58
|
|
str r0, [r4]
|
|
b _021EBC76
|
|
_021EBC6E:
|
|
mov r1, #0x58
|
|
bl _s32_div_f
|
|
str r1, [r4]
|
|
_021EBC76:
|
|
ldr r0, [r5, #0x5c]
|
|
cmp r0, #0x20
|
|
blt _021EBC90
|
|
cmp r0, #0x38
|
|
bgt _021EBC90
|
|
cmp r6, #0
|
|
ble _021EBC8C
|
|
mov r0, #0x20
|
|
add sp, #4
|
|
str r0, [r5, #0x5c]
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EBC8C:
|
|
mov r0, #0x38
|
|
str r0, [r5, #0x5c]
|
|
_021EBC90:
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EBC94: .word 0x021C48F8
|
|
thumb_func_end MOD16_021EBC30
|
|
|
|
thumb_func_start MOD16_021EBC98
|
|
MOD16_021EBC98: ; 0x021EBC98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x5c]
|
|
asr r0, r1, #1
|
|
lsr r0, r0, #0x1e
|
|
add r0, r1, r0
|
|
asr r1, r0, #2
|
|
ldr r0, [r4, #0x60]
|
|
cmp r1, r0
|
|
beq _021EBCBE
|
|
ldr r0, _021EBCC0 ; =0x000005F7
|
|
bl FUN_020054C8
|
|
ldr r1, [r4, #0x5c]
|
|
asr r0, r1, #1
|
|
lsr r0, r0, #0x1e
|
|
add r0, r1, r0
|
|
asr r0, r0, #2
|
|
str r0, [r4, #0x60]
|
|
_021EBCBE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021EBCC0: .word 0x000005F7
|
|
thumb_func_end MOD16_021EBC98
|
|
|
|
thumb_func_start MOD16_021EBCC4
|
|
MOD16_021EBCC4: ; 0x021EBCC4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x5c]
|
|
cmp r1, #0
|
|
bne _021EBCD4
|
|
bl MOD16_021EC010
|
|
pop {r4, pc}
|
|
_021EBCD4:
|
|
ble _021EBD02
|
|
cmp r1, #0x2c
|
|
bgt _021EBD02
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #1
|
|
bne _021EBCE6
|
|
mov r0, #0
|
|
bl FUN_02004CA4
|
|
_021EBCE6:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #2
|
|
beq _021EBCF4
|
|
bl FUN_02004CB4
|
|
mov r0, #2
|
|
str r0, [r4, #0x50]
|
|
_021EBCF4:
|
|
ldr r0, [r4, #0x60]
|
|
cmp r0, #0
|
|
bne _021EBCFC
|
|
mov r0, #1
|
|
_021EBCFC:
|
|
bl FUN_02004D04
|
|
pop {r4, pc}
|
|
_021EBD02:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #2
|
|
bne _021EBD0C
|
|
bl FUN_02004CFC
|
|
_021EBD0C:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #1
|
|
beq _021EBD1C
|
|
mov r0, #0
|
|
bl FUN_02004C80
|
|
mov r0, #1
|
|
str r0, [r4, #0x50]
|
|
_021EBD1C:
|
|
ldr r0, [r4, #0x5c]
|
|
cmp r0, #0
|
|
bne _021EBD26
|
|
mov r0, #0x58
|
|
str r0, [r4, #0x5c]
|
|
_021EBD26:
|
|
ldr r1, [r4, #0x60]
|
|
mov r0, #0x16
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #3
|
|
cmp r0, #0
|
|
ble _021EBD34
|
|
sub r0, r0, #1
|
|
_021EBD34:
|
|
mov r1, #0
|
|
bl FUN_02004CAC
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EBCC4
|
|
|
|
thumb_func_start MOD16_021EBD3C
|
|
MOD16_021EBD3C: ; 0x021EBD3C
|
|
push {r4, lr}
|
|
ldr r1, [r1, #0x5c]
|
|
add r4, r0, #0
|
|
mov r0, #0xe
|
|
bl FUN_0201BC84
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r4]
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020088
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBD3C
|
|
|
|
thumb_func_start MOD16_021EBD58
|
|
MOD16_021EBD58: ; 0x021EBD58
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r2, #0x6c]
|
|
add r5, r0, #0
|
|
ldr r2, [r2, #0x3c]
|
|
mov r0, #1
|
|
bl FUN_02004F28
|
|
add r6, r0, #0
|
|
bne _021EBD70
|
|
mov r0, #0
|
|
str r0, [r5, #0x48]
|
|
_021EBD70:
|
|
add r0, r5, #0
|
|
ldr r1, [r5, #0x48]
|
|
add r0, #0x4c
|
|
sub r1, r6, r1
|
|
lsl r1, r1, #4
|
|
ldrh r0, [r0]
|
|
neg r1, r1
|
|
add r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
strh r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
ldrh r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
strh r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
ldrh r0, [r0]
|
|
mov r1, #0xb6
|
|
bl _s32_div_f
|
|
add r3, r0, #0
|
|
ldr r0, [r4]
|
|
lsl r3, r3, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
lsr r3, r3, #0x10
|
|
bl FUN_0201AF08
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
mov r2, #9
|
|
mov r3, #0x83
|
|
bl FUN_0201AF50
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
mov r2, #0xc
|
|
mov r3, #0x63
|
|
bl FUN_0201AF50
|
|
str r6, [r5, #0x48]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EBD58
|
|
|
|
thumb_func_start MOD16_021EBDD0
|
|
MOD16_021EBDD0: ; 0x021EBDD0
|
|
push {r4, lr}
|
|
sub r1, #0x6b
|
|
add r4, r0, #0
|
|
lsl r0, r1, #0xc
|
|
mov r2, #0x7f
|
|
asr r1, r0, #0x1f
|
|
lsl r2, r2, #0xc
|
|
mov r3, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #9
|
|
lsl r1, r1, #0x10
|
|
bl FX_Div
|
|
asr r0, r0, #0xc
|
|
str r0, [r4, #0x44]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBDD0
|
|
|
|
thumb_func_start MOD16_021EBE04
|
|
MOD16_021EBE04: ; 0x021EBE04
|
|
push {r4, lr}
|
|
sub r1, #0xb3
|
|
add r4, r0, #0
|
|
lsl r0, r1, #0xc
|
|
mov r2, #0x7f
|
|
asr r1, r0, #0x1f
|
|
lsl r2, r2, #0xc
|
|
mov r3, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #0x12
|
|
lsl r1, r1, #0xe
|
|
bl FX_Div
|
|
asr r0, r0, #0xc
|
|
str r0, [r4, #0x40]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBE04
|
|
|
|
thumb_func_start MOD16_021EBE38
|
|
MOD16_021EBE38: ; 0x021EBE38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x40]
|
|
cmp r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
bne _021EBE58
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_020119D0
|
|
ldr r0, [r4, #0x54]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
pop {r4, pc}
|
|
_021EBE58:
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_020119D0
|
|
ldr r0, [r4, #0x54]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_020119D0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EBE38
|
|
|
|
thumb_func_start MOD16_021EBE6C
|
|
MOD16_021EBE6C: ; 0x021EBE6C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r3, #0
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
cmp r4, #3
|
|
bne _021EBE7C
|
|
mov r4, #1
|
|
_021EBE7C:
|
|
add r0, r6, #0
|
|
bl FUN_0202022C
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, r7
|
|
beq _021EBE96
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021EBF7C
|
|
str r7, [r5, #0xc]
|
|
_021EBE96:
|
|
cmp r4, #2
|
|
bgt _021EBEAA
|
|
cmp r4, #0
|
|
blt _021EBEE0
|
|
beq _021EBEE0
|
|
cmp r4, #1
|
|
beq _021EBECC
|
|
cmp r4, #2
|
|
beq _021EBEB0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBEAA:
|
|
cmp r4, #0x64
|
|
beq _021EBECC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBEB0:
|
|
ldr r1, [r5, #0x14]
|
|
ldr r0, [sp]
|
|
cmp r0, r1
|
|
ble _021EBEE0
|
|
lsl r1, r1, #0x10
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl FUN_020200D8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBECC:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021EBF7C
|
|
mov r1, #2
|
|
add r0, r6, #0
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020200D8
|
|
_021EBEE0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EBE6C
|
|
|
|
thumb_func_start MOD16_021EBEE4
|
|
MOD16_021EBEE4: ; 0x021EBEE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r3, #0
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
cmp r4, #1
|
|
bne _021EBEF4
|
|
mov r4, #3
|
|
_021EBEF4:
|
|
add r0, r6, #0
|
|
bl FUN_0202022C
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, r7
|
|
beq _021EBF0C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021EBF7C
|
|
str r7, [r5, #0xc]
|
|
_021EBF0C:
|
|
cmp r4, #3
|
|
bgt _021EBF20
|
|
cmp r4, #0
|
|
blt _021EBF7A
|
|
beq _021EBF26
|
|
cmp r4, #2
|
|
beq _021EBF50
|
|
cmp r4, #3
|
|
beq _021EBF66
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBF20:
|
|
cmp r4, #0x64
|
|
beq _021EBF66
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBF26:
|
|
cmp r7, #1
|
|
bne _021EBF36
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl MOD16_021EBF7C
|
|
b _021EBF40
|
|
_021EBF36:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl MOD16_021EBF7C
|
|
_021EBF40:
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r6, #0
|
|
sub r1, r1, #1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBF50:
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r6, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl FUN_020200D8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBF66:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021EBF7C
|
|
mov r1, #2
|
|
add r0, r6, #0
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020200D8
|
|
_021EBF7A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EBEE4
|
|
|
|
thumb_func_start MOD16_021EBF7C
|
|
MOD16_021EBF7C: ; 0x021EBF7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
bl FUN_0202022C
|
|
add r6, r0, #0
|
|
cmp r7, #1
|
|
ldr r1, [r4, #8]
|
|
bne _021EBFB2
|
|
ldr r0, [r4]
|
|
cmp r1, r0
|
|
bne _021EBFD2
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, #0
|
|
bl FUN_02020130
|
|
ldr r0, [r4, #4]
|
|
str r0, [r4, #8]
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
sub r1, r1, r6
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EBFB2:
|
|
ldr r0, [r4, #4]
|
|
cmp r1, r0
|
|
bne _021EBFD2
|
|
ldr r1, [r4]
|
|
add r0, r5, #0
|
|
bl FUN_02020130
|
|
ldr r0, [r4]
|
|
str r0, [r4, #8]
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
sub r1, r1, r6
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
_021EBFD2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EBF7C
|
|
|
|
thumb_func_start MOD16_021EBFD4
|
|
MOD16_021EBFD4: ; 0x021EBFD4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
lsl r1, r2, #0x10
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _021EBFFC ; =0x000001FF
|
|
lsr r1, r1, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xd
|
|
mov r2, #0
|
|
mov r3, #0x7f
|
|
bl FUN_020056AC
|
|
add r0, r4, #0
|
|
bl MOD16_021EC0E8
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021EBFFC: .word 0x000001FF
|
|
thumb_func_end MOD16_021EBFD4
|
|
|
|
thumb_func_start MOD16_021EC000
|
|
MOD16_021EC000: ; 0x021EC000
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
bl FUN_02005614
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EC000
|
|
|
|
thumb_func_start MOD16_021EC010
|
|
MOD16_021EC010: ; 0x021EC010
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #1
|
|
bne _021EC020
|
|
mov r0, #0
|
|
bl FUN_02004CA4
|
|
_021EC020:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #2
|
|
bne _021EC02A
|
|
bl FUN_02004CFC
|
|
_021EC02A:
|
|
mov r0, #0
|
|
str r0, [r4, #0x50]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EC010
|
|
|
|
thumb_func_start MOD16_021EC030
|
|
MOD16_021EC030: ; 0x021EC030
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r6, r0, #0
|
|
bl FUN_02005670
|
|
cmp r0, #0
|
|
bne _021EC05C
|
|
ldr r0, [r5, #0x68]
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0x68]
|
|
bne _021EC05C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EBFD4
|
|
mov r0, #0xa
|
|
str r0, [r5, #0x68]
|
|
_021EC05C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC030
|
|
|
|
thumb_func_start MOD16_021EC060
|
|
MOD16_021EC060: ; 0x021EC060
|
|
str r1, [r0, #0x64]
|
|
mov r1, #0xa
|
|
str r1, [r0, #0x68]
|
|
bx lr
|
|
thumb_func_end MOD16_021EC060
|
|
|
|
thumb_func_start MOD16_021EC068
|
|
MOD16_021EC068: ; 0x021EC068
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r3, r2, #0
|
|
ldr r0, [r1]
|
|
add r2, r4, #0
|
|
mov r1, #0x14
|
|
add r2, #0x6c
|
|
bl MOD16_021D8D70
|
|
str r0, [r4, #0x68]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC068
|
|
|
|
thumb_func_start MOD16_021EC080
|
|
MOD16_021EC080: ; 0x021EC080
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x68]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x68]
|
|
str r0, [r4, #0x6c]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC080
|
|
|
|
thumb_func_start MOD16_021EC094
|
|
MOD16_021EC094: ; 0x021EC094
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
ldr r2, [r2, #0x6c]
|
|
mov r0, #0x1f
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #0xe0
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021EC094
|
|
|
|
thumb_func_start MOD16_021EC0A8
|
|
MOD16_021EC0A8: ; 0x021EC0A8
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
ldr r2, [r2, #0x6c]
|
|
mov r0, #0x1f
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #0xe0
|
|
add r2, #0x20
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC0A8
|
|
|
|
thumb_func_start MOD16_021EC0C0
|
|
MOD16_021EC0C0: ; 0x021EC0C0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EC0D8
|
|
cmp r4, #0
|
|
bne _021EC0D4
|
|
add r0, r5, #0
|
|
bl MOD16_021EC0DC
|
|
_021EC0D4:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC0C0
|
|
|
|
thumb_func_start MOD16_021EC0D8
|
|
MOD16_021EC0D8: ; 0x021EC0D8
|
|
str r1, [r0, #0x48]
|
|
bx lr
|
|
thumb_func_end MOD16_021EC0D8
|
|
|
|
thumb_func_start MOD16_021EC0DC
|
|
MOD16_021EC0DC: ; 0x021EC0DC
|
|
mov r1, #0
|
|
str r1, [r0, #0x3c]
|
|
str r1, [r0, #0x40]
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC0DC
|
|
|
|
thumb_func_start MOD16_021EC0E8
|
|
MOD16_021EC0E8: ; 0x021EC0E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _021EC108
|
|
ldr r0, [r4, #0x3c]
|
|
bl MOD16_021EC1DC
|
|
ldr r1, _021EC10C ; =0x0000FFFF
|
|
ldr r2, [r4, #0x40]
|
|
mov r0, #1
|
|
bl FUN_02004D4C
|
|
ldr r0, [r4, #0x44]
|
|
bl MOD16_021EC110
|
|
_021EC108:
|
|
pop {r4, pc}
|
|
nop
|
|
_021EC10C: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021EC0E8
|
|
|
|
thumb_func_start MOD16_021EC110
|
|
MOD16_021EC110: ; 0x021EC110
|
|
ldr r3, _021EC11C ; =FUN_02004828
|
|
add r1, r0, #0
|
|
mov r0, #8
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_021EC11C: .word FUN_02004828
|
|
thumb_func_end MOD16_021EC110
|
|
|
|
thumb_func_start MOD16_021EC120
|
|
MOD16_021EC120: ; 0x021EC120
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, [r4, #0x48]
|
|
ldr r1, [r5, #0x70]
|
|
cmp r2, r1
|
|
beq _021EC140
|
|
cmp r2, #1
|
|
bne _021EC138
|
|
bl MOD16_021EC094
|
|
b _021EC13C
|
|
_021EC138:
|
|
bl MOD16_021EC0A8
|
|
_021EC13C:
|
|
ldr r0, [r4, #0x48]
|
|
str r0, [r5, #0x70]
|
|
_021EC140:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC120
|
|
|
|
thumb_func_start MOD16_021EC144
|
|
MOD16_021EC144: ; 0x021EC144
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r6, r0, #0
|
|
ldr r0, _021EC1B4 ; =0x021C48B8
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x48]
|
|
tst r0, r1
|
|
beq _021EC198
|
|
str r1, [r5, #0x28]
|
|
mov r0, #0
|
|
str r0, [r5, #0x18]
|
|
ldr r1, [r5, #0x64]
|
|
cmp r1, #0
|
|
bne _021EC17E
|
|
ldr r1, [r5, #0x2c]
|
|
cmp r1, #1
|
|
bne _021EC172
|
|
bl FUN_02005614
|
|
_021EC172:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EBFD4
|
|
pop {r4, r5, r6, pc}
|
|
_021EC17E:
|
|
ldr r0, [r5, #0x2c]
|
|
cmp r0, #0
|
|
bne _021EC190
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EBFD4
|
|
pop {r4, r5, r6, pc}
|
|
_021EC190:
|
|
add r0, r5, #0
|
|
bl MOD16_021EC000
|
|
pop {r4, r5, r6, pc}
|
|
_021EC198:
|
|
ldr r0, [r5, #0x28]
|
|
cmp r0, #1
|
|
bne _021EC1A6
|
|
mov r0, #2
|
|
str r0, [r5, #0x28]
|
|
str r0, [r5, #0x18]
|
|
pop {r4, r5, r6, pc}
|
|
_021EC1A6:
|
|
cmp r0, #2
|
|
bne _021EC1B0
|
|
mov r0, #0
|
|
str r0, [r5, #0x28]
|
|
str r1, [r5, #0x18]
|
|
_021EC1B0:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EC1B4: .word 0x021C48B8
|
|
thumb_func_end MOD16_021EC144
|
|
|
|
thumb_func_start MOD16_021EC1B8
|
|
MOD16_021EC1B8: ; 0x021EC1B8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [r0]
|
|
ldr r0, [r1, #8]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #1
|
|
bne _021EC1D6
|
|
mov r3, #0x18
|
|
add r0, r4, #0
|
|
mov r1, #0xb4
|
|
mov r2, #0x83
|
|
str r3, [sp]
|
|
bl MOD16_021D8B04
|
|
_021EC1D6:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC1B8
|
|
|
|
thumb_func_start MOD16_021EC1DC
|
|
MOD16_021EC1DC: ; 0x021EC1DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, _021EC1F8 ; =0x0000FFFF
|
|
mov r0, #1
|
|
add r2, r4, #0
|
|
bl FUN_02004D20
|
|
add r4, #0x14
|
|
ldr r1, _021EC1F8 ; =0x0000FFFF
|
|
mov r0, #8
|
|
add r2, r4, #0
|
|
bl FUN_02004D20
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021EC1F8: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021EC1DC
|
|
|
|
thumb_func_start MOD16_021EC1FC
|
|
MOD16_021EC1FC: ; 0x021EC1FC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EC274
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021EC2C0
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021EC2E8
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021EC318
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021EC244 ; =MOD16_021EC31C
|
|
str r0, [r5, #8]
|
|
ldr r0, _021EC248 ; =MOD16_021EC340
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021EC24C ; =MOD16_021EC350
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021EC250 ; =MOD16_021EC364
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021EC254 ; =MOD16_021EC3E8
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021EC258 ; =MOD16_021EC3EC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EC244: .word MOD16_021EC31C
|
|
_021EC248: .word MOD16_021EC340
|
|
_021EC24C: .word MOD16_021EC350
|
|
_021EC250: .word MOD16_021EC364
|
|
_021EC254: .word MOD16_021EC3E8
|
|
_021EC258: .word MOD16_021EC3EC
|
|
thumb_func_end MOD16_021EC1FC
|
|
|
|
thumb_func_start MOD16_021EC25C
|
|
MOD16_021EC25C: ; 0x021EC25C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021EC2EC
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021EC300
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021EC314
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EC25C
|
|
|
|
thumb_func_start MOD16_021EC274
|
|
MOD16_021EC274: ; 0x021EC274
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EC286
|
|
bl ErrorHandling
|
|
_021EC286:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AD8
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC274
|
|
|
|
thumb_func_start MOD16_021EC2C0
|
|
MOD16_021EC2C0: ; 0x021EC2C0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EC2D2
|
|
bl ErrorHandling
|
|
_021EC2D2:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EC2C0
|
|
|
|
thumb_func_start MOD16_021EC2E8
|
|
MOD16_021EC2E8: ; 0x021EC2E8
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EC2E8
|
|
|
|
thumb_func_start MOD16_021EC2EC
|
|
MOD16_021EC2EC: ; 0x021EC2EC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EC2F6
|
|
bl ErrorHandling
|
|
_021EC2F6:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC2EC
|
|
|
|
thumb_func_start MOD16_021EC300
|
|
MOD16_021EC300: ; 0x021EC300
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EC30A
|
|
bl ErrorHandling
|
|
_021EC30A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC300
|
|
|
|
thumb_func_start MOD16_021EC314
|
|
MOD16_021EC314: ; 0x021EC314
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC314
|
|
|
|
thumb_func_start MOD16_021EC318
|
|
MOD16_021EC318: ; 0x021EC318
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EC318
|
|
|
|
thumb_func_start MOD16_021EC31C
|
|
MOD16_021EC31C: ; 0x021EC31C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EC330
|
|
bl ErrorHandling
|
|
_021EC330:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
str r4, [r5, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EC31C
|
|
|
|
thumb_func_start MOD16_021EC340
|
|
MOD16_021EC340: ; 0x021EC340
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
bne _021EC34A
|
|
mov r0, #1
|
|
bx lr
|
|
_021EC34A:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC340
|
|
|
|
thumb_func_start MOD16_021EC350
|
|
MOD16_021EC350: ; 0x021EC350
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC350
|
|
|
|
thumb_func_start MOD16_021EC364
|
|
MOD16_021EC364: ; 0x021EC364
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r3, [r3, #8]
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021EC3E2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EC382: ; jump table
|
|
.short _021EC38A - _021EC382 - 2 ; case 0
|
|
.short _021EC3A8 - _021EC382 - 2 ; case 1
|
|
.short _021EC3C8 - _021EC382 - 2 ; case 2
|
|
.short _021EC3DE - _021EC382 - 2 ; case 3
|
|
_021EC38A:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x14
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r2, #0x14
|
|
mov r1, #0
|
|
_021EC398:
|
|
strb r1, [r0]
|
|
add r0, r0, #1
|
|
sub r2, r2, #1
|
|
bne _021EC398
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC3E2
|
|
_021EC3A8:
|
|
ldr r0, [r4, #4]
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021EC520
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021EC474
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC3E2
|
|
_021EC3C8:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021EC4E0
|
|
cmp r0, #0
|
|
beq _021EC3E2
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC3E2
|
|
_021EC3DE:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EC3E2:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC364
|
|
|
|
thumb_func_start MOD16_021EC3E8
|
|
MOD16_021EC3E8: ; 0x021EC3E8
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EC3E8
|
|
|
|
thumb_func_start MOD16_021EC3EC
|
|
MOD16_021EC3EC: ; 0x021EC3EC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r3, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021EC456
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EC406: ; jump table
|
|
.short _021EC410 - _021EC406 - 2 ; case 0
|
|
.short _021EC420 - _021EC406 - 2 ; case 1
|
|
.short _021EC434 - _021EC406 - 2 ; case 2
|
|
.short _021EC442 - _021EC406 - 2 ; case 3
|
|
.short _021EC452 - _021EC406 - 2 ; case 4
|
|
_021EC410:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021EC474
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC456
|
|
_021EC420:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021EC4E0
|
|
cmp r0, #0
|
|
beq _021EC456
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC456
|
|
_021EC434:
|
|
add r1, r3, #0
|
|
bl MOD16_021EC574
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC456
|
|
_021EC442:
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EC456
|
|
_021EC452:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EC456:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC3EC
|
|
|
|
thumb_func_start MOD16_021EC45C
|
|
MOD16_021EC45C: ; 0x021EC45C
|
|
ldr r3, _021EC464 ; =FUN_02020398
|
|
ldr r0, [r0, #0x10]
|
|
mov r1, #1
|
|
bx r3
|
|
.align 2, 0
|
|
_021EC464: .word FUN_02020398
|
|
thumb_func_end MOD16_021EC45C
|
|
|
|
thumb_func_start MOD16_021EC468
|
|
MOD16_021EC468: ; 0x021EC468
|
|
ldr r3, _021EC470 ; =FUN_02020398
|
|
ldr r0, [r0, #0x10]
|
|
mov r1, #0
|
|
bx r3
|
|
.align 2, 0
|
|
_021EC470: .word FUN_02020398
|
|
thumb_func_end MOD16_021EC468
|
|
|
|
thumb_func_start MOD16_021EC474
|
|
MOD16_021EC474: ; 0x021EC474
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021EC45C
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021EC4DC
|
|
cmp r6, #0
|
|
beq _021EC4B8
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EC4B8:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2a
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021EC4DC:
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EC474
|
|
|
|
thumb_func_start MOD16_021EC4E0
|
|
MOD16_021EC4E0: ; 0x021EC4E0
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r5]
|
|
beq _021EC500
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021EC50A
|
|
_021EC500:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021EC50A:
|
|
cmp r0, #0
|
|
beq _021EC51C
|
|
cmp r4, #0
|
|
beq _021EC518
|
|
add r0, r6, #0
|
|
bl MOD16_021EC468
|
|
_021EC518:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021EC51C:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EC4E0
|
|
|
|
thumb_func_start MOD16_021EC520
|
|
MOD16_021EC520: ; 0x021EC520
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, [sp, #0x18]
|
|
add r7, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EC5A8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EC7E8
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EC898
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EC610
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021EC700
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021EC7E0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021EC9B0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC520
|
|
|
|
thumb_func_start MOD16_021EC574
|
|
MOD16_021EC574: ; 0x021EC574
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EC7E4
|
|
add r0, r5, #0
|
|
bl MOD16_021EC7D4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EC6BC
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
add r0, r4, #0
|
|
bl MOD16_021ECA2C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EC574
|
|
|
|
thumb_func_start MOD16_021EC5A8
|
|
MOD16_021EC5A8: ; 0x021EC5A8
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r5, r2, #0
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x4a
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC5A8
|
|
|
|
thumb_func_start MOD16_021EC610
|
|
MOD16_021EC610: ; 0x021EC610
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021EC6AC ; =0x00001BB5
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x5d
|
|
bl FUN_020091E0
|
|
str r0, [r5]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5]
|
|
bl FUN_02009474
|
|
ldr r0, _021EC6B0 ; =0x00001B66
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xe
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #4]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #4]
|
|
bl FUN_02009474
|
|
ldr r0, _021EC6B4 ; =0x00001BB3
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5b
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #8]
|
|
ldr r0, _021EC6B8 ; =0x00001BB4
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5c
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0xc]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EC6AC: .word 0x00001BB5
|
|
_021EC6B0: .word 0x00001B66
|
|
_021EC6B4: .word 0x00001BB3
|
|
_021EC6B8: .word 0x00001BB4
|
|
thumb_func_end MOD16_021EC610
|
|
|
|
thumb_func_start MOD16_021EC6BC
|
|
MOD16_021EC6BC: ; 0x021EC6BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #4]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #4]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #8]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0xc]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EC6BC
|
|
|
|
thumb_func_start MOD16_021EC700
|
|
MOD16_021EC700: ; 0x021EC700
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x74
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #4]
|
|
add r7, r3, #0
|
|
ldr r4, [r1]
|
|
bl MOD16_021D9DE8
|
|
ldr r3, _021EC7CC ; =0x00001BB4
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x50
|
|
sub r2, #0x4e
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0x50
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x44]
|
|
mov r0, #1
|
|
str r0, [sp, #0x48]
|
|
str r7, [sp, #0x4c]
|
|
ldr r1, [r6, #4]
|
|
ldr r0, _021EC7D0 ; =0x00001748
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [sp, #0x2c]
|
|
bl FUN_02087B98
|
|
add r4, r0, #0
|
|
ldr r1, [r6, #4]
|
|
ldr r0, _021EC7D0 ; =0x00001748
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [sp, #0x2c]
|
|
bl FUN_02087BD8
|
|
add r7, r0, #0
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x38]
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x30
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9F4C
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bne _021EC7B2
|
|
mov r1, #5
|
|
bl FUN_02020130
|
|
b _021EC7B8
|
|
_021EC7B2:
|
|
mov r1, #6
|
|
bl FUN_02020130
|
|
_021EC7B8:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #0
|
|
bl MOD16_021ECA48
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r7, #0
|
|
bl MOD16_021ECA74
|
|
add sp, #0x74
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EC7CC: .word 0x00001BB4
|
|
_021EC7D0: .word 0x00001748
|
|
thumb_func_end MOD16_021EC700
|
|
|
|
thumb_func_start MOD16_021EC7D4
|
|
MOD16_021EC7D4: ; 0x021EC7D4
|
|
ldr r3, _021EC7DC ; =FUN_0201FFC8
|
|
ldr r0, [r0, #0x10]
|
|
bx r3
|
|
nop
|
|
_021EC7DC: .word FUN_0201FFC8
|
|
thumb_func_end MOD16_021EC7D4
|
|
|
|
thumb_func_start MOD16_021EC7E0
|
|
MOD16_021EC7E0: ; 0x021EC7E0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC7E0
|
|
|
|
thumb_func_start MOD16_021EC7E4
|
|
MOD16_021EC7E4: ; 0x021EC7E4
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EC7E4
|
|
|
|
thumb_func_start MOD16_021EC7E8
|
|
MOD16_021EC7E8: ; 0x021EC7E8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r6, r1, #0
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
ldr r2, _021EC890 ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #0x2b
|
|
add r2, r4, #0
|
|
add r6, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0
|
|
mov r3, #1
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
lsl r3, r3, #8
|
|
bl FUN_02002F40
|
|
add r3, r0, #0
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC894 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC894 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
mov r3, #0x20
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC894 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
mov r3, #0x98
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EC890: .word 0x00000266
|
|
_021EC894: .word 0x00020100
|
|
thumb_func_end MOD16_021EC7E8
|
|
|
|
thumb_func_start MOD16_021EC898
|
|
MOD16_021EC898: ; 0x021EC898
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #0x20
|
|
add r1, r7, #0
|
|
bl FUN_020219F4
|
|
mov r2, #0x9b
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #2
|
|
add r3, r7, #0
|
|
bl FUN_0200A86C
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9DE8
|
|
add r1, r7, #0
|
|
str r0, [sp, #0x14]
|
|
bl FUN_0200AA50
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC9A8 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r2, [sp, #0x18]
|
|
add r0, r0, #4
|
|
mov r3, #0x1a
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x14]
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0x6e
|
|
sub r3, r1, r0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC9A8 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_0200A8B8
|
|
ldr r2, _021EC9AC ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r7, #0
|
|
bl FUN_0200A86C
|
|
add r7, r0, #0
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9F40
|
|
add r2, r0, #0
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC9A8 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
mov r3, #0x92
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r6, #4]
|
|
bl MOD16_021D9F4C
|
|
cmp r0, #0
|
|
bne _021EC966
|
|
add r0, r7, #0
|
|
mov r1, #0x5f
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
b _021EC970
|
|
_021EC966:
|
|
add r0, r7, #0
|
|
mov r1, #0x60
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
_021EC970:
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0xe6
|
|
sub r3, r1, r0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EC9A8 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r7, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EC9A8: .word 0x00020100
|
|
_021EC9AC: .word 0x00000266
|
|
thumb_func_end MOD16_021EC898
|
|
|
|
thumb_func_start MOD16_021EC9B0
|
|
MOD16_021EC9B0: ; 0x021EC9B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl MOD16_021D8700
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021D9DE8
|
|
add r7, r0, #0
|
|
ldr r1, [r4, #4]
|
|
ldr r0, _021ECA28 ; =0x00001748
|
|
ldr r0, [r1, r0]
|
|
add r1, r7, #0
|
|
bl FUN_02087BB8
|
|
str r0, [sp, #8]
|
|
ldr r1, [r4, #4]
|
|
ldr r0, _021ECA28 ; =0x00001748
|
|
ldr r0, [r1, r0]
|
|
add r1, r7, #0
|
|
bl FUN_02087BF8
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x58
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
add r2, r7, #0
|
|
add r0, #0x58
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
mov r3, #2
|
|
bl MOD16_021D7FB4
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_02007558
|
|
mov r1, #0xf
|
|
mov r3, #0
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
str r3, [sp]
|
|
bl FUN_02007E68
|
|
ldr r1, [sp, #8]
|
|
add r0, r6, #0
|
|
bl MOD16_021ECA64
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r6, #0
|
|
bl MOD16_021ECA98
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021ECA28: .word 0x00001748
|
|
thumb_func_end MOD16_021EC9B0
|
|
|
|
thumb_func_start MOD16_021ECA2C
|
|
MOD16_021ECA2C: ; 0x021ECA2C
|
|
push {r4, lr}
|
|
ldr r0, [r0]
|
|
bl MOD16_021D8700
|
|
add r4, r0, #0
|
|
mov r1, #6
|
|
mov r2, #1
|
|
bl FUN_02007558
|
|
add r0, r4, #0
|
|
bl FUN_02007EEC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECA2C
|
|
|
|
thumb_func_start MOD16_021ECA48
|
|
MOD16_021ECA48: ; 0x021ECA48
|
|
push {lr}
|
|
sub sp, #0xc
|
|
add r1, #0x58
|
|
mov r2, #0x2a
|
|
lsl r1, r1, #0xc
|
|
lsl r2, r2, #0xe
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0
|
|
str r2, [sp]
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECA48
|
|
|
|
thumb_func_start MOD16_021ECA64
|
|
MOD16_021ECA64: ; 0x021ECA64
|
|
ldr r3, _021ECA70 ; =FUN_02007558
|
|
add r2, r1, #0
|
|
mov r1, #1
|
|
add r2, #0x58
|
|
bx r3
|
|
nop
|
|
_021ECA70: .word FUN_02007558
|
|
thumb_func_end MOD16_021ECA64
|
|
|
|
thumb_func_start MOD16_021ECA74
|
|
MOD16_021ECA74: ; 0x021ECA74
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #0x14
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
mov r2, #2
|
|
bl FUN_02020074
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECA74
|
|
|
|
thumb_func_start MOD16_021ECA98
|
|
MOD16_021ECA98: ; 0x021ECA98
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #0x14
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
asr r2, r0, #0x1f
|
|
lsl r3, r2, #0x14
|
|
lsr r1, r0, #0xc
|
|
lsl r2, r0, #0x14
|
|
mov r0, #2
|
|
orr r3, r1
|
|
mov r1, #0
|
|
lsl r0, r0, #0xa
|
|
add r2, r2, r0
|
|
adc r3, r1
|
|
lsl r0, r3, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
lsl r0, r1, #4
|
|
asr r5, r0, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
add r2, r5, #0
|
|
bl FUN_02007558
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
add r2, r5, #0
|
|
bl FUN_02007558
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECA98
|
|
|
|
thumb_func_start MOD16_021ECADC
|
|
MOD16_021ECADC: ; 0x021ECADC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021ECB54
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021ECB98
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021ECBC0
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021ECC50
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021ECB24 ; =MOD16_021ECC54
|
|
str r0, [r5, #8]
|
|
ldr r0, _021ECB28 ; =MOD16_021ECCA0
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021ECB2C ; =MOD16_021ECCF4
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021ECB30 ; =MOD16_021ECD08
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021ECB34 ; =MOD16_021ECD90
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021ECB38 ; =MOD16_021ECDC0
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021ECB24: .word MOD16_021ECC54
|
|
_021ECB28: .word MOD16_021ECCA0
|
|
_021ECB2C: .word MOD16_021ECCF4
|
|
_021ECB30: .word MOD16_021ECD08
|
|
_021ECB34: .word MOD16_021ECD90
|
|
_021ECB38: .word MOD16_021ECDC0
|
|
thumb_func_end MOD16_021ECADC
|
|
|
|
thumb_func_start MOD16_021ECB3C
|
|
MOD16_021ECB3C: ; 0x021ECB3C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021ECC08
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021ECC1C
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021ECC30
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021ECB3C
|
|
|
|
thumb_func_start MOD16_021ECB54
|
|
MOD16_021ECB54: ; 0x021ECB54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021ECB66
|
|
bl ErrorHandling
|
|
_021ECB66:
|
|
add r2, r4, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_021ECB6C:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021ECB6C
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AEC
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECB54
|
|
|
|
thumb_func_start MOD16_021ECB98
|
|
MOD16_021ECB98: ; 0x021ECB98
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021ECBAA
|
|
bl ErrorHandling
|
|
_021ECBAA:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021ECB98
|
|
|
|
thumb_func_start MOD16_021ECBC0
|
|
MOD16_021ECBC0: ; 0x021ECBC0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD16_021ECC50
|
|
add r7, r0, #0
|
|
mov r1, #0x14
|
|
mul r7, r1
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021ECBE0
|
|
bl ErrorHandling
|
|
_021ECBE0:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl MOD16_021DB000
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r2, r6, #0
|
|
mov r3, #2
|
|
bl MOD16_021DB058
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021ECBC0
|
|
|
|
thumb_func_start MOD16_021ECC08
|
|
MOD16_021ECC08: ; 0x021ECC08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021ECC12
|
|
bl ErrorHandling
|
|
_021ECC12:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECC08
|
|
|
|
thumb_func_start MOD16_021ECC1C
|
|
MOD16_021ECC1C: ; 0x021ECC1C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021ECC26
|
|
bl ErrorHandling
|
|
_021ECC26:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECC1C
|
|
|
|
thumb_func_start MOD16_021ECC30
|
|
MOD16_021ECC30: ; 0x021ECC30
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021ECC3A
|
|
bl ErrorHandling
|
|
_021ECC3A:
|
|
add r0, r4, #0
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl MOD16_021DAC7C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021ECC30
|
|
|
|
thumb_func_start MOD16_021ECC50
|
|
MOD16_021ECC50: ; 0x021ECC50
|
|
mov r0, #2
|
|
bx lr
|
|
thumb_func_end MOD16_021ECC50
|
|
|
|
thumb_func_start MOD16_021ECC54
|
|
MOD16_021ECC54: ; 0x021ECC54
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
add r6, r0, #0
|
|
add r2, r6, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021ECC6A:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021ECC6A
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
mov r0, #4
|
|
_021ECC78:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x10]
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021ECC78
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021ECF40
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021ECFA4
|
|
str r6, [r5, #8]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECC54
|
|
|
|
thumb_func_start MOD16_021ECCA0
|
|
MOD16_021ECCA0: ; 0x021ECCA0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021ECCB0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021ECCB0:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021ECCBA
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021ECCBA:
|
|
ldr r0, [r5, #0xc]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021ECCEE
|
|
add r0, r4, #0
|
|
bl MOD16_021ECF94
|
|
ldr r0, [r5, #0xc]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #0
|
|
beq _021ECCE6
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #0
|
|
beq _021ECCE6
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021ED4C8
|
|
_021ECCE6:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021ECFA4
|
|
_021ECCEE:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECCA0
|
|
|
|
thumb_func_start MOD16_021ECCF4
|
|
MOD16_021ECCF4: ; 0x021ECCF4
|
|
push {r4, lr}
|
|
ldr r4, [r0, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021ECFD4
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021ECCF4
|
|
|
|
thumb_func_start MOD16_021ECD08
|
|
MOD16_021ECD08: ; 0x021ECD08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021ECD8C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021ECD24: ; jump table
|
|
.short _021ECD2C - _021ECD24 - 2 ; case 0
|
|
.short _021ECD46 - _021ECD24 - 2 ; case 1
|
|
.short _021ECD64 - _021ECD24 - 2 ; case 2
|
|
.short _021ECD7A - _021ECD24 - 2 ; case 3
|
|
_021ECD2C:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x40
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x40
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECD8C
|
|
_021ECD46:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021ED044
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021ECE98
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECD8C
|
|
_021ECD64:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021ECF04
|
|
cmp r0, #0
|
|
beq _021ECD8C
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECD8C
|
|
_021ECD7A:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B3C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021ECD8C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021ECD08
|
|
|
|
thumb_func_start MOD16_021ECD90
|
|
MOD16_021ECD90: ; 0x021ECD90
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r3, #8]
|
|
add r4, r2, #0
|
|
str r0, [sp]
|
|
add r5, r1, #0
|
|
ldr r0, [r4, #0xc]
|
|
ldr r7, [r5, #8]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021ECDBC
|
|
ldr r2, [sp]
|
|
ldr r3, [r5, #4]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021ED46C
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021ED50C
|
|
_021ECDBC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021ECD90
|
|
|
|
thumb_func_start MOD16_021ECDC0
|
|
MOD16_021ECDC0: ; 0x021ECDC0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021ECE42
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021ECDDC: ; jump table
|
|
.short _021ECDE6 - _021ECDDC - 2 ; case 0
|
|
.short _021ECE08 - _021ECDDC - 2 ; case 1
|
|
.short _021ECE1E - _021ECDDC - 2 ; case 2
|
|
.short _021ECE30 - _021ECDDC - 2 ; case 3
|
|
.short _021ECE3E - _021ECDDC - 2 ; case 4
|
|
_021ECDE6:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl MOD16_021D8B3C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021ECE98
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECE42
|
|
_021ECE08:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD16_021ECF04
|
|
cmp r0, #0
|
|
beq _021ECE42
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECE42
|
|
_021ECE1E:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021ED074
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECE42
|
|
_021ECE30:
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ECE42
|
|
_021ECE3E:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021ECE42:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECDC0
|
|
|
|
thumb_func_start MOD16_021ECE48
|
|
MOD16_021ECE48: ; 0x021ECE48
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #1
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
add r7, r6, #0
|
|
_021ECE52:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #8]
|
|
add r1, r7, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021ECE52
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECE48
|
|
|
|
thumb_func_start MOD16_021ECE70
|
|
MOD16_021ECE70: ; 0x021ECE70
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
add r7, r4, #0
|
|
_021ECE7A:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r5, #8]
|
|
add r1, r7, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021ECE7A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECE70
|
|
|
|
thumb_func_start MOD16_021ECE98
|
|
MOD16_021ECE98: ; 0x021ECE98
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021ECE48
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021ECF00
|
|
cmp r6, #0
|
|
beq _021ECEDC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r2, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r2, r0
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021ECEDC:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r3, r0
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021ECF00:
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021ECE98
|
|
|
|
thumb_func_start MOD16_021ECF04
|
|
MOD16_021ECF04: ; 0x021ECF04
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #0xc]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021ECF24
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021ECF2A
|
|
_021ECF24:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
_021ECF2A:
|
|
cmp r0, #0
|
|
beq _021ECF3C
|
|
cmp r4, #0
|
|
beq _021ECF38
|
|
add r0, r6, #0
|
|
bl MOD16_021ECE70
|
|
_021ECF38:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021ECF3C:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021ECF04
|
|
|
|
thumb_func_start MOD16_021ECF40
|
|
MOD16_021ECF40: ; 0x021ECF40
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
str r0, [r5, #4]
|
|
mov r0, #0x80
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x40
|
|
mov r2, #0xb0
|
|
mov r3, #8
|
|
bl MOD16_021D7C98
|
|
mov r0, #0xf8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x40
|
|
add r0, r0, #4
|
|
mov r2, #0xb0
|
|
mov r3, #0x80
|
|
bl MOD16_021D7C98
|
|
str r4, [r5, #8]
|
|
str r5, [r5, #0xc]
|
|
str r6, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r2, _021ECF90 ; =MOD16_021ECFEC
|
|
mov r1, #2
|
|
add r3, #8
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021ECF90: .word MOD16_021ECFEC
|
|
thumb_func_end MOD16_021ECF40
|
|
|
|
thumb_func_start MOD16_021ECF94
|
|
MOD16_021ECF94: ; 0x021ECF94
|
|
mov r2, #0
|
|
mov r1, #3
|
|
_021ECF98:
|
|
add r2, r2, #1
|
|
str r1, [r0, #0x10]
|
|
add r0, r0, #4
|
|
cmp r2, #2
|
|
blt _021ECF98
|
|
bx lr
|
|
thumb_func_end MOD16_021ECF94
|
|
|
|
thumb_func_start MOD16_021ECFA4
|
|
MOD16_021ECFA4: ; 0x021ECFA4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
bl FUN_02022144
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021ECFBC
|
|
cmp r0, #1
|
|
beq _021ECFC8
|
|
pop {r3, r4, r5, pc}
|
|
_021ECFBC:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #2
|
|
beq _021ECFD2
|
|
mov r0, #1
|
|
str r0, [r4, #0x10]
|
|
pop {r3, r4, r5, pc}
|
|
_021ECFC8:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #2
|
|
beq _021ECFD2
|
|
mov r0, #1
|
|
str r0, [r4, #0x14]
|
|
_021ECFD2:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021ECFA4
|
|
|
|
thumb_func_start MOD16_021ECFD4
|
|
MOD16_021ECFD4: ; 0x021ECFD4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ECFD4
|
|
|
|
thumb_func_start MOD16_021ECFEC
|
|
MOD16_021ECFEC: ; 0x021ECFEC
|
|
push {r4, lr}
|
|
ldr r3, [r2, #4]
|
|
ldr r4, [r2]
|
|
lsl r2, r0, #2
|
|
add r2, r3, r2
|
|
str r1, [r2, #0x10]
|
|
cmp r1, #2
|
|
bne _021ED03C
|
|
cmp r0, #0
|
|
beq _021ED006
|
|
cmp r0, #1
|
|
beq _021ED022
|
|
pop {r4, pc}
|
|
_021ED006:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021ED03C
|
|
ldr r0, _021ED040 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r0, #1
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
pop {r4, pc}
|
|
_021ED022:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #1
|
|
beq _021ED03C
|
|
ldr r0, _021ED040 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
str r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r2]
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
_021ED03C:
|
|
pop {r4, pc}
|
|
nop
|
|
_021ED040: .word 0x000005DD
|
|
thumb_func_end MOD16_021ECFEC
|
|
|
|
thumb_func_start MOD16_021ED044
|
|
MOD16_021ED044: ; 0x021ED044
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021ED0D0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021ED138
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021ED1EC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021ED2B4
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021ED044
|
|
|
|
thumb_func_start MOD16_021ED074
|
|
MOD16_021ED074: ; 0x021ED074
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r6, r2, #0
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
str r6, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
mov r2, #4
|
|
mov r3, #0x80
|
|
bl MOD16_021D8CFC
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
mov r2, #4
|
|
mov r3, #0xa0
|
|
bl MOD16_021D8CFC
|
|
add r0, r5, #0
|
|
bl MOD16_021ED29C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021ED398
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021ED1B8
|
|
mov r4, #0
|
|
_021ED0BA:
|
|
ldr r0, [r5, #0x38]
|
|
cmp r0, #0
|
|
beq _021ED0C4
|
|
bl FreeToHeap
|
|
_021ED0C4:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021ED0BA
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021ED074
|
|
|
|
thumb_func_start MOD16_021ED0D0
|
|
MOD16_021ED0D0: ; 0x021ED0D0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x22
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x3d
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED0D0
|
|
|
|
thumb_func_start MOD16_021ED138
|
|
MOD16_021ED138: ; 0x021ED138
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021ED1AC ; =0x0000238E
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x66
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x10]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x10]
|
|
bl FUN_02009474
|
|
ldr r0, _021ED1B0 ; =0x0000238C
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x64
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021ED1B4 ; =0x0000238D
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x65
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x1c]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021ED1AC: .word 0x0000238E
|
|
_021ED1B0: .word 0x0000238C
|
|
_021ED1B4: .word 0x0000238D
|
|
thumb_func_end MOD16_021ED138
|
|
|
|
thumb_func_start MOD16_021ED1B8
|
|
MOD16_021ED1B8: ; 0x021ED1B8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x10]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x1c]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED1B8
|
|
|
|
thumb_func_start MOD16_021ED1EC
|
|
MOD16_021ED1EC: ; 0x021ED1EC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021ED294 ; =0x0000238D
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021ED298 ; =0x0000083F
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1e
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r0, #3
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
str r6, [sp, #0x48]
|
|
bl FUN_0201FF84
|
|
mov r1, #1
|
|
str r0, [r5]
|
|
bl FUN_02020130
|
|
mov r0, #0x2f
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0x1e
|
|
mov r0, #3
|
|
lsl r1, r1, #0xe
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
mov r1, #1
|
|
str r0, [r5, #4]
|
|
bl FUN_02020130
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021ED294: .word 0x0000238D
|
|
_021ED298: .word 0x0000083F
|
|
thumb_func_end MOD16_021ED1EC
|
|
|
|
thumb_func_start MOD16_021ED29C
|
|
MOD16_021ED29C: ; 0x021ED29C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021ED2A2:
|
|
ldr r0, [r5]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021ED2A2
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED29C
|
|
|
|
thumb_func_start MOD16_021ED2B4
|
|
MOD16_021ED2B4: ; 0x021ED2B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r2, #0
|
|
ldr r4, [r1]
|
|
cmp r0, #0
|
|
bne _021ED2C8
|
|
bl ErrorHandling
|
|
_021ED2C8:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021ED390 ; =0x0000083F
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
mov r1, #7
|
|
mvn r1, r1
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r6, [sp, #0x2c]
|
|
bl FUN_0201E28C
|
|
add r7, r0, #0
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xc
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021ED394 ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x2d
|
|
bl MOD16_021DB3C8
|
|
lsr r0, r0, #1
|
|
neg r0, r0
|
|
str r6, [sp, #0xc]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #8]
|
|
ldr r0, [r0]
|
|
add r1, r7, #4
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xc
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021ED394 ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x2e
|
|
bl MOD16_021DB3C8
|
|
lsr r0, r0, #1
|
|
neg r0, r0
|
|
str r6, [sp, #0xc]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #0xc]
|
|
ldr r0, [r0]
|
|
add r1, r7, #4
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021ED390: .word 0x0000083F
|
|
_021ED394: .word 0x00000266
|
|
thumb_func_end MOD16_021ED2B4
|
|
|
|
thumb_func_start MOD16_021ED398
|
|
MOD16_021ED398: ; 0x021ED398
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021ED39E:
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021DB338
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021ED39E
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED398
|
|
|
|
thumb_func_start MOD16_021ED3B0
|
|
MOD16_021ED3B0: ; 0x021ED3B0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r1, #0
|
|
add r1, r3, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r4, [sp, #0x30]
|
|
ldr r6, [sp, #0x40]
|
|
mov r5, #0
|
|
bl MOD16_021D7B98
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x38]
|
|
bl MOD16_021ED45C
|
|
ldr r0, [sp, #8]
|
|
bl FUN_0202022C
|
|
cmp r0, #3
|
|
bhi _021ED422
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021ED3EE: ; jump table
|
|
.short _021ED3F6 - _021ED3EE - 2 ; case 0
|
|
.short _021ED3F6 - _021ED3EE - 2 ; case 1
|
|
.short _021ED406 - _021ED3EE - 2 ; case 2
|
|
.short _021ED414 - _021ED3EE - 2 ; case 3
|
|
_021ED3F6:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _021ED422
|
|
mov r0, #0
|
|
mov r5, #1
|
|
mov r7, #9
|
|
str r0, [r4]
|
|
b _021ED422
|
|
_021ED406:
|
|
ldr r0, [r4]
|
|
cmp r0, #1
|
|
beq _021ED422
|
|
mov r5, #1
|
|
mov r7, #0xa
|
|
str r5, [r4]
|
|
b _021ED422
|
|
_021ED414:
|
|
ldr r0, [r4]
|
|
cmp r0, #2
|
|
beq _021ED422
|
|
mov r0, #2
|
|
mov r5, #1
|
|
mov r7, #8
|
|
str r0, [r4]
|
|
_021ED422:
|
|
cmp r5, #0
|
|
beq _021ED458
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
beq _021ED430
|
|
bl FreeToHeap
|
|
_021ED430:
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x34]
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
add r2, sp, #0x10
|
|
bl MOD16_021D8D70
|
|
str r0, [r6]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [r2, #0xc]
|
|
mov r0, #0x1f
|
|
lsl r1, r1, #5
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
cmp r0, #0
|
|
bne _021ED458
|
|
bl ErrorHandling
|
|
_021ED458:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021ED3B0
|
|
|
|
thumb_func_start MOD16_021ED45C
|
|
MOD16_021ED45C: ; 0x021ED45C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
bl MOD16_021D7C70
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021ED45C
|
|
|
|
thumb_func_start MOD16_021ED46C
|
|
MOD16_021ED46C: ; 0x021ED46C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
add r6, r5, #0
|
|
add r4, r5, #0
|
|
str r1, [sp, #0x1c]
|
|
str r2, [sp, #0x20]
|
|
str r3, [sp, #0x24]
|
|
mov r7, #0
|
|
add r6, #0x38
|
|
add r4, #0x30
|
|
_021ED482:
|
|
cmp r7, #0
|
|
bne _021ED48A
|
|
mov r1, #4
|
|
b _021ED48C
|
|
_021ED48A:
|
|
mov r1, #5
|
|
_021ED48C:
|
|
mov r0, #7
|
|
mvn r0, r0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [sp, #0x24]
|
|
str r4, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #4
|
|
str r0, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x14]
|
|
str r6, [sp, #0x18]
|
|
ldr r3, [sp, #0x20]
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, #8]
|
|
ldr r3, [r3, #0x10]
|
|
bl MOD16_021ED3B0
|
|
ldr r0, [sp, #0x20]
|
|
add r7, r7, #1
|
|
add r0, r0, #4
|
|
add r6, r6, #4
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
str r0, [sp, #0x20]
|
|
cmp r7, #2
|
|
blt _021ED482
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021ED46C
|
|
|
|
thumb_func_start MOD16_021ED4C8
|
|
MOD16_021ED4C8: ; 0x021ED4C8
|
|
push {r3, lr}
|
|
ldr r2, _021ED504 ; =0x021C48B8
|
|
ldr r3, [r2, #0x48]
|
|
mov r2, #1
|
|
tst r3, r2
|
|
beq _021ED500
|
|
ldr r3, [r1, #4]
|
|
cmp r3, #1
|
|
bne _021ED4EC
|
|
mov r3, #0
|
|
str r3, [r1, #4]
|
|
ldr r3, [r1]
|
|
ldr r1, [r3]
|
|
orr r1, r2
|
|
str r1, [r3]
|
|
mov r1, #2
|
|
str r1, [r0, #0x10]
|
|
b _021ED4FA
|
|
_021ED4EC:
|
|
str r2, [r1, #4]
|
|
ldr r3, [r1]
|
|
mov r1, #2
|
|
ldr r2, [r3]
|
|
orr r2, r1
|
|
str r2, [r3]
|
|
str r1, [r0, #0x14]
|
|
_021ED4FA:
|
|
ldr r0, _021ED508 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
_021ED500:
|
|
pop {r3, pc}
|
|
nop
|
|
_021ED504: .word 0x021C48B8
|
|
_021ED508: .word 0x000005DD
|
|
thumb_func_end MOD16_021ED4C8
|
|
|
|
thumb_func_start MOD16_021ED50C
|
|
MOD16_021ED50C: ; 0x021ED50C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #1
|
|
bne _021ED544
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
bne _021ED534
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0xbc
|
|
mov r2, #0x78
|
|
mov r3, #0x68
|
|
bl MOD16_021ED548
|
|
pop {r3, r4, r5, pc}
|
|
_021ED534:
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x44
|
|
mov r2, #0x78
|
|
mov r3, #0x68
|
|
bl MOD16_021ED548
|
|
_021ED544:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED50C
|
|
|
|
thumb_func_start MOD16_021ED548
|
|
MOD16_021ED548: ; 0x021ED548
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
thumb_func_end MOD16_021ED548
|
|
|
|
thumb_func_start MOD16_021ED54C
|
|
MOD16_021ED54C: ; 0x021ED54C
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
ldr r0, [r0]
|
|
bl MOD16_021D8B04
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED54C
|
|
|
|
thumb_func_start MOD16_021ED55C
|
|
MOD16_021ED55C: ; 0x021ED55C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r7, #0
|
|
bl MOD16_021ED5C8
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021ED604
|
|
str r4, [r5]
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021ED67C
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021ED59C ; =MOD16_021ED680
|
|
str r0, [r5, #8]
|
|
ldr r0, _021ED5A0 ; =MOD16_021ED6EC
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021ED5A4 ; =MOD16_021ED6FC
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021ED5A8 ; =MOD16_021ED710
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021ED5AC ; =MOD16_021ED7B4
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021ED5B0 ; =MOD16_021ED874
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021ED59C: .word MOD16_021ED680
|
|
_021ED5A0: .word MOD16_021ED6EC
|
|
_021ED5A4: .word MOD16_021ED6FC
|
|
_021ED5A8: .word MOD16_021ED710
|
|
_021ED5AC: .word MOD16_021ED7B4
|
|
_021ED5B0: .word MOD16_021ED874
|
|
thumb_func_end MOD16_021ED55C
|
|
|
|
thumb_func_start MOD16_021ED5B4
|
|
MOD16_021ED5B4: ; 0x021ED5B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021ED648
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021ED65C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED5B4
|
|
|
|
thumb_func_start MOD16_021ED5C8
|
|
MOD16_021ED5C8: ; 0x021ED5C8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021ED5DA
|
|
bl ErrorHandling
|
|
_021ED5DA:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED5C8
|
|
|
|
thumb_func_start MOD16_021ED604
|
|
MOD16_021ED604: ; 0x021ED604
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
mov r1, #0x20
|
|
add r5, r0, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021ED618
|
|
bl ErrorHandling
|
|
_021ED618:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl memset
|
|
add r0, r6, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EE090
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EE110
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl FUN_02013EB0
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED604
|
|
|
|
thumb_func_start MOD16_021ED648
|
|
MOD16_021ED648: ; 0x021ED648
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021ED652
|
|
bl ErrorHandling
|
|
_021ED652:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED648
|
|
|
|
thumb_func_start MOD16_021ED65C
|
|
MOD16_021ED65C: ; 0x021ED65C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021ED666
|
|
bl ErrorHandling
|
|
_021ED666:
|
|
add r0, r4, #0
|
|
bl MOD16_021EE0F0
|
|
add r0, r4, #0
|
|
bl MOD16_021EE14C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED65C
|
|
|
|
thumb_func_start MOD16_021ED67C
|
|
MOD16_021ED67C: ; 0x021ED67C
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021ED67C
|
|
|
|
thumb_func_start MOD16_021ED680
|
|
MOD16_021ED680: ; 0x021ED680
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #4]
|
|
add r5, r1, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021ED696
|
|
bl ErrorHandling
|
|
_021ED696:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
str r4, [r6, #8]
|
|
ldr r0, [r5]
|
|
bl MOD16_021D9DE8
|
|
add r1, r0, #0
|
|
ldr r2, [r5]
|
|
ldr r0, _021ED6E8 ; =0x00001748
|
|
ldr r0, [r2, r0]
|
|
bl FUN_02087B78
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
bl MOD16_021D9F4C
|
|
cmp r0, #0
|
|
bne _021ED6CC
|
|
mov r0, #0x5f
|
|
b _021ED6CE
|
|
_021ED6CC:
|
|
mov r0, #0x55
|
|
_021ED6CE:
|
|
lsl r0, r0, #2
|
|
cmp r6, r0
|
|
blt _021ED6DC
|
|
sub r0, r6, r0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
b _021ED6E2
|
|
_021ED6DC:
|
|
sub r0, r0, r6
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
_021ED6E2:
|
|
str r0, [r4, #4]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021ED6E8: .word 0x00001748
|
|
thumb_func_end MOD16_021ED680
|
|
|
|
thumb_func_start MOD16_021ED6EC
|
|
MOD16_021ED6EC: ; 0x021ED6EC
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
bne _021ED6F6
|
|
mov r0, #1
|
|
bx lr
|
|
_021ED6F6:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED6EC
|
|
|
|
thumb_func_start MOD16_021ED6FC
|
|
MOD16_021ED6FC: ; 0x021ED6FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED6FC
|
|
|
|
thumb_func_start MOD16_021ED710
|
|
MOD16_021ED710: ; 0x021ED710
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r4]
|
|
str r2, [sp, #4]
|
|
ldr r6, [r3, #8]
|
|
ldr r5, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021ED7A8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021ED730: ; jump table
|
|
.short _021ED738 - _021ED730 - 2 ; case 0
|
|
.short _021ED75A - _021ED730 - 2 ; case 1
|
|
.short _021ED77C - _021ED730 - 2 ; case 2
|
|
.short _021ED792 - _021ED730 - 2 ; case 3
|
|
_021ED738:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xc4
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0xc4
|
|
bl memset
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED7A8
|
|
_021ED75A:
|
|
ldr r0, [r4, #4]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021ED9E0
|
|
ldr r2, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021ED8FC
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED7A8
|
|
_021ED77C:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021ED984
|
|
cmp r0, #0
|
|
beq _021ED7A8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED7A8
|
|
_021ED792:
|
|
ldr r0, _021ED7B0 ; =0x021FF60C
|
|
ldr r2, [r6]
|
|
mov r1, #0x11
|
|
bl MOD16_021EE5A8
|
|
str r0, [r5, #0x34]
|
|
ldr r0, [r6, #4]
|
|
add sp, #8
|
|
str r0, [r5, #0x38]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021ED7A8:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021ED7B0: .word 0x021FF60C
|
|
thumb_func_end MOD16_021ED710
|
|
|
|
thumb_func_start MOD16_021ED7B4
|
|
MOD16_021ED7B4: ; 0x021ED7B4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #7
|
|
bhi _021ED86C
|
|
add r3, r1, r1
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_021ED7D0: ; jump table
|
|
.short _021ED7E0 - _021ED7D0 - 2 ; case 0
|
|
.short _021ED7FA - _021ED7D0 - 2 ; case 1
|
|
.short _021ED80A - _021ED7D0 - 2 ; case 2
|
|
.short _021ED818 - _021ED7D0 - 2 ; case 3
|
|
.short _021ED830 - _021ED7D0 - 2 ; case 4
|
|
.short _021ED83E - _021ED7D0 - 2 ; case 5
|
|
.short _021ED860 - _021ED7D0 - 2 ; case 6
|
|
.short _021ED86C - _021ED7D0 - 2 ; case 7
|
|
_021ED7E0:
|
|
add r1, r0, #0
|
|
mov r2, #1
|
|
add r1, #0xb8
|
|
str r2, [r1]
|
|
ldr r0, [r0, #0x34]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021ED7F4
|
|
str r2, [r4]
|
|
b _021ED86C
|
|
_021ED7F4:
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED7FA:
|
|
add r1, r2, #0
|
|
ldr r2, [r0, #0x38]
|
|
bl MOD16_021EE158
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED80A:
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _021ED86C
|
|
add r0, r1, #1
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED818:
|
|
ldr r3, [r0, #0x34]
|
|
ldr r1, [r0, #0x38]
|
|
str r1, [sp]
|
|
add r1, r2, #0
|
|
ldrh r2, [r3, #8]
|
|
ldrh r3, [r3, #0xa]
|
|
bl MOD16_021EE358
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED830:
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _021ED86C
|
|
add r0, r1, #1
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED83E:
|
|
ldr r2, [r0, #0x34]
|
|
ldr r1, [r2, #0xc]
|
|
cmp r1, #0
|
|
beq _021ED85A
|
|
ldr r1, [r2, #0x10]
|
|
ldr r2, [r0, #0x38]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
bl MOD16_021EE428
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED85A:
|
|
mov r0, #7
|
|
str r0, [r4]
|
|
b _021ED86C
|
|
_021ED860:
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _021ED86C
|
|
add r0, r1, #1
|
|
str r0, [r4]
|
|
_021ED86C:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED7B4
|
|
|
|
thumb_func_start MOD16_021ED874
|
|
MOD16_021ED874: ; 0x021ED874
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r3, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021ED8F0
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021ED88E: ; jump table
|
|
.short _021ED898 - _021ED88E - 2 ; case 0
|
|
.short _021ED8A8 - _021ED88E - 2 ; case 1
|
|
.short _021ED8BC - _021ED88E - 2 ; case 2
|
|
.short _021ED8CA - _021ED88E - 2 ; case 3
|
|
.short _021ED8EC - _021ED88E - 2 ; case 4
|
|
_021ED898:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021ED8FC
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED8F0
|
|
_021ED8A8:
|
|
add r1, r3, #0
|
|
mov r3, #0
|
|
bl MOD16_021ED984
|
|
cmp r0, #0
|
|
beq _021ED8F0
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED8F0
|
|
_021ED8BC:
|
|
add r1, r3, #0
|
|
bl MOD16_021EDA3C
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED8F0
|
|
_021ED8CA:
|
|
add r1, r0, #0
|
|
add r1, #0xb8
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _021ED8DA
|
|
ldr r0, [r0, #0x3c]
|
|
bl FUN_0200CAB4
|
|
_021ED8DA:
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021ED8F0
|
|
_021ED8EC:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021ED8F0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021ED874
|
|
|
|
thumb_func_start MOD16_021ED8F4
|
|
MOD16_021ED8F4: ; 0x021ED8F4
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED8F4
|
|
|
|
thumb_func_start MOD16_021ED8F8
|
|
MOD16_021ED8F8: ; 0x021ED8F8
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED8F8
|
|
|
|
thumb_func_start MOD16_021ED8FC
|
|
MOD16_021ED8FC: ; 0x021ED8FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021ED8F4
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
beq _021ED97E
|
|
cmp r6, #0
|
|
beq _021ED95C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A48
|
|
add r1, r0, #0
|
|
neg r1, r1
|
|
lsl r1, r1, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl MOD16_021EE5D0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ED95C:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2b
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r0, #0x5b
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021ED97E:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021ED8FC
|
|
|
|
thumb_func_start MOD16_021ED984
|
|
MOD16_021ED984: ; 0x021ED984
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r2, #4]
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021E8C68
|
|
cmp r0, #0
|
|
ldr r1, [r4]
|
|
beq _021ED9A4
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021ED9AE
|
|
_021ED9A4:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A7C
|
|
_021ED9AE:
|
|
cmp r0, #0
|
|
beq _021ED9C0
|
|
cmp r6, #0
|
|
beq _021ED9BC
|
|
add r0, r5, #0
|
|
bl MOD16_021ED8F8
|
|
_021ED9BC:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021ED9C0:
|
|
mov r0, #0x5b
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl MOD16_021D8A48
|
|
add r1, r0, #0
|
|
neg r1, r1
|
|
lsl r1, r1, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl MOD16_021EE5D0
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021ED984
|
|
|
|
thumb_func_start MOD16_021ED9E0
|
|
MOD16_021ED9E0: ; 0x021ED9E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, [sp, #0x18]
|
|
add r7, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EDA7C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EDEC8
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021EDF78
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021EDAE4
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021EDD04
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r4, #0
|
|
bl MOD16_021EDEC0
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
bl FUN_02013F2C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
bl FUN_02013EB0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021ED9E0
|
|
|
|
thumb_func_start MOD16_021EDA3C
|
|
MOD16_021EDA3C: ; 0x021EDA3C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EDEC4
|
|
add r0, r5, #0
|
|
bl MOD16_021EDE9C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EDC70
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
bl FUN_02019620
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02018744
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl FUN_02013EB0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl FUN_02013F2C
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EDA3C
|
|
|
|
thumb_func_start MOD16_021EDA7C
|
|
MOD16_021EDA7C: ; 0x021EDA7C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
add r5, r2, #0
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x21
|
|
mov r3, #3
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x49
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EDA7C
|
|
|
|
thumb_func_start MOD16_021EDAE4
|
|
MOD16_021EDAE4: ; 0x021EDAE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r7, r1, #0
|
|
ldr r0, [r0]
|
|
str r2, [sp, #0x10]
|
|
add r4, r3, #0
|
|
ldr r6, [r7]
|
|
bl MOD16_021D9DE8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r7]
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [r0]
|
|
bl MOD16_021D9964
|
|
add r2, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
bl FUN_0206B6D4
|
|
str r0, [sp, #0x20]
|
|
bl FUN_0206B888
|
|
str r0, [sp, #0x24]
|
|
bl FUN_0206B88C
|
|
str r0, [sp, #0x18]
|
|
bl FUN_0206B898
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0x13
|
|
mov r3, #0
|
|
bl FUN_02008F34
|
|
str r0, [r5, #0x14]
|
|
bl FUN_02009B78
|
|
ldr r0, [r5, #0x14]
|
|
bl FUN_02009474
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [sp, #0x24]
|
|
mov r1, #0x13
|
|
mov r3, #0
|
|
bl FUN_02008FEC
|
|
str r0, [r5, #0x18]
|
|
bl FUN_02009D68
|
|
cmp r0, #0
|
|
bne _021EDB82
|
|
bl ErrorHandling
|
|
_021EDB82:
|
|
add r0, r4, #0
|
|
mov r1, #0x60
|
|
bl AllocFromHeap
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [sp, #0x18]
|
|
mov r1, #0x13
|
|
mov r3, #0
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [sp, #0x14]
|
|
mov r1, #0x13
|
|
mov r3, #0
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0x20]
|
|
ldr r0, _021EDC60 ; =0x00001BB5
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r7, #0
|
|
mov r2, #0x5d
|
|
bl FUN_020091E0
|
|
str r0, [r5, #0x24]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #0x24]
|
|
bl FUN_02009474
|
|
ldr r0, _021EDC64 ; =0x00001B66
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r0, [sp, #8]
|
|
mov r0, #0x51
|
|
str r4, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xe
|
|
mov r3, #0
|
|
bl FUN_02009298
|
|
str r0, [r5, #0x28]
|
|
bl FUN_02009D68
|
|
add r0, r4, #0
|
|
mov r1, #0xa0
|
|
bl AllocFromHeap
|
|
add r1, r5, #0
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
ldr r0, _021EDC68 ; =0x00001BB3
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5b
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _021EDC6C ; =0x00001BB4
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x5c
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x30]
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EDC60: .word 0x00001BB5
|
|
_021EDC64: .word 0x00001B66
|
|
_021EDC68: .word 0x00001BB3
|
|
_021EDC6C: .word 0x00001BB4
|
|
thumb_func_end MOD16_021EDAE4
|
|
|
|
thumb_func_start MOD16_021EDC70
|
|
MOD16_021EDC70: ; 0x021EDC70
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x14]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x18]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x1c]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x20]
|
|
bl FUN_02009490
|
|
ldr r0, [r5, #0x24]
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02009E04
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x24]
|
|
bl FUN_02009490
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x28]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x2c]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x30]
|
|
bl FUN_02009490
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r5, #0xc0
|
|
ldr r0, [r5]
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EDC70
|
|
|
|
thumb_func_start MOD16_021EDD04
|
|
MOD16_021EDD04: ; 0x021EDD04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x80
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r6]
|
|
add r7, r3, #0
|
|
ldr r4, [r1]
|
|
bl MOD16_021D9DE8
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [r6]
|
|
ldr r1, [sp, #0x2c]
|
|
bl MOD16_021D9964
|
|
ldr r3, _021EDE98 ; =0x00001BB4
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #3
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
str r1, [sp, #0x14]
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, #0xc
|
|
str r1, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r1, r3, #1
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r2, r3, #0
|
|
add r0, sp, #0x5c
|
|
sub r2, #0x4e
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x5c
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x50]
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x44]
|
|
lsl r0, r1, #0x12
|
|
str r0, [sp, #0x48]
|
|
str r1, [sp, #0x54]
|
|
str r7, [sp, #0x58]
|
|
add r0, sp, #0x3c
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
ldr r0, [r6]
|
|
bl MOD16_021D9F4C
|
|
cmp r0, #0
|
|
ldr r0, [r5]
|
|
bne _021EDDA0
|
|
mov r1, #3
|
|
bl FUN_02020130
|
|
b _021EDDA6
|
|
_021EDDA0:
|
|
mov r1, #4
|
|
bl FUN_02020130
|
|
_021EDDA6:
|
|
mov r0, #2
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x3c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #8]
|
|
mov r1, #1
|
|
bl FUN_02020130
|
|
ldr r0, [r5, #8]
|
|
mov r1, #1
|
|
bl FUN_02020238
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x3c
|
|
bl FUN_0201FF84
|
|
mov r1, #0
|
|
str r0, [r5, #0xc]
|
|
bl FUN_02020130
|
|
mov r0, #0x12
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x3c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #0x10]
|
|
mov r1, #0
|
|
bl FUN_02020130
|
|
ldr r0, [r5, #0x14]
|
|
bl FUN_02009530
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02009530
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [r5, #0x1c]
|
|
bl FUN_02009530
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [r5, #0x20]
|
|
bl FUN_02009530
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #3
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r2, [r4, r0]
|
|
ldr r3, [sp, #0x38]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x34]
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r0, sp, #0x5c
|
|
add r1, r6, #0
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x5c
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x50]
|
|
mov r0, #0x12
|
|
mov r1, #1
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x44]
|
|
lsl r0, r1, #0x12
|
|
str r0, [sp, #0x48]
|
|
str r1, [sp, #0x54]
|
|
str r7, [sp, #0x58]
|
|
add r0, sp, #0x3c
|
|
bl FUN_0201FF84
|
|
str r0, [r5, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r1, [sp, #0x30]
|
|
mov r2, #0
|
|
bl FUN_0206B7BC
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0202027C
|
|
add sp, #0x80
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EDE98: .word 0x00001BB4
|
|
thumb_func_end MOD16_021EDD04
|
|
|
|
thumb_func_start MOD16_021EDE9C
|
|
MOD16_021EDE9C: ; 0x021EDE9C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #4]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #8]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0xc]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, #0x10]
|
|
bl FUN_0201FFC8
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EDE9C
|
|
|
|
thumb_func_start MOD16_021EDEC0
|
|
MOD16_021EDEC0: ; 0x021EDEC0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EDEC0
|
|
|
|
thumb_func_start MOD16_021EDEC4
|
|
MOD16_021EDEC4: ; 0x021EDEC4
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EDEC4
|
|
|
|
thumb_func_start MOD16_021EDEC8
|
|
MOD16_021EDEC8: ; 0x021EDEC8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r6, r1, #0
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
ldr r2, _021EDF70 ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r6, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #0x2c
|
|
add r2, r4, #0
|
|
add r6, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0
|
|
mov r3, #1
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
lsl r3, r3, #8
|
|
bl FUN_02002F40
|
|
add r3, r0, #0
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EDF74 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EDF74 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
mov r3, #0x20
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EDF74 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
mov r3, #0x98
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EDF70: .word 0x00000266
|
|
_021EDF74: .word 0x00020100
|
|
thumb_func_end MOD16_021EDEC8
|
|
|
|
thumb_func_start MOD16_021EDF78
|
|
MOD16_021EDF78: ; 0x021EDF78
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #0x20
|
|
add r1, r7, #0
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
ldr r2, _021EE084 ; =0x0000026B
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r7, #0
|
|
bl FUN_0200A86C
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r6]
|
|
bl MOD16_021D9DE8
|
|
add r1, r7, #0
|
|
str r0, [sp, #0x14]
|
|
bl FUN_0200AA50
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EE088 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r2, [sp, #0x18]
|
|
add r0, r0, #4
|
|
mov r3, #0x1a
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x14]
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0x6e
|
|
sub r3, r1, r0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EE088 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_0200A8B8
|
|
ldr r2, _021EE08C ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r7, #0
|
|
bl FUN_0200A86C
|
|
add r7, r0, #0
|
|
ldr r0, [r6]
|
|
bl MOD16_021D9F40
|
|
add r2, r0, #0
|
|
mov r0, #0x98
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EE088 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
mov r3, #0x92
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r6]
|
|
bl MOD16_021D9F4C
|
|
cmp r0, #0
|
|
bne _021EE044
|
|
add r0, r7, #0
|
|
mov r1, #0x61
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
b _021EE04E
|
|
_021EE044:
|
|
add r0, r7, #0
|
|
mov r1, #0x62
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
_021EE04E:
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0xe6
|
|
sub r3, r1, r0
|
|
mov r0, #0xa8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _021EE088 ; =0x00020100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r4, #0
|
|
add r0, r0, #4
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r7, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EE084: .word 0x0000026B
|
|
_021EE088: .word 0x00020100
|
|
_021EE08C: .word 0x00000266
|
|
thumb_func_end MOD16_021EDF78
|
|
|
|
thumb_func_start MOD16_021EE090
|
|
MOD16_021EE090: ; 0x021EE090
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
str r5, [sp]
|
|
add r3, r4, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0x24
|
|
mov r2, #1
|
|
add r3, #0x18
|
|
bl MOD16_021D8D98
|
|
str r0, [r4, #0x10]
|
|
add r2, r4, #0
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
add r2, #0x1c
|
|
add r3, r5, #0
|
|
bl MOD16_021D8D70
|
|
str r0, [r4, #0x14]
|
|
mov r0, #0x5a
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x18]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #4
|
|
bl FUN_02013D98
|
|
str r0, [r4, #4]
|
|
mov r0, #0x5a
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x1c]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #0xc
|
|
bl FUN_02013E14
|
|
str r0, [r4, #8]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE090
|
|
|
|
thumb_func_start MOD16_021EE0F0
|
|
MOD16_021EE0F0: ; 0x021EE0F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl FUN_02013DD4
|
|
ldr r0, [r4, #8]
|
|
bl FUN_02013E44
|
|
ldr r0, [r4, #0x10]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #0x14]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE0F0
|
|
|
|
thumb_func_start MOD16_021EE110
|
|
MOD16_021EE110: ; 0x021EE110
|
|
push {r4, lr}
|
|
sub sp, #0x20
|
|
add r4, r0, #0
|
|
mov r0, #0x5a
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0
|
|
strh r1, [r0, #0xc]
|
|
mov r1, #0x58
|
|
strh r1, [r0, #0xe]
|
|
strh r2, [r0, #0x10]
|
|
mov r1, #0x1f
|
|
str r1, [sp, #0x14]
|
|
str r2, [sp, #0x18]
|
|
strh r2, [r0, #0x1c]
|
|
add r0, sp, #0
|
|
bl FUN_02013E84
|
|
str r0, [r4, #0xc]
|
|
add sp, #0x20
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE110
|
|
|
|
thumb_func_start MOD16_021EE14C
|
|
MOD16_021EE14C: ; 0x021EE14C
|
|
ldr r3, _021EE154 ; =FUN_02013EA8
|
|
ldr r0, [r0, #0xc]
|
|
bx r3
|
|
nop
|
|
_021EE154: .word FUN_02013EA8
|
|
thumb_func_end MOD16_021EE14C
|
|
|
|
thumb_func_start MOD16_021EE158
|
|
MOD16_021EE158: ; 0x021EE158
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #0xc]
|
|
mov r1, #0
|
|
str r0, [r4, #0x40]
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [r4, #0x44]
|
|
ldr r0, [r4, #0x10]
|
|
str r0, [r4, #0x48]
|
|
ldr r0, [r4]
|
|
str r0, [r4, #0x4c]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r4, #0x50]
|
|
add r0, r4, #0
|
|
str r1, [r4, #0x6c]
|
|
add r0, #0xb8
|
|
str r0, [r4, #0x70]
|
|
add r0, r4, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
cmp r2, #0
|
|
bne _021EE188
|
|
sub r0, r1, #1
|
|
b _021EE18A
|
|
_021EE188:
|
|
mov r0, #1
|
|
_021EE18A:
|
|
str r0, [r4, #0x54]
|
|
add r1, r4, #0
|
|
ldr r0, _021EE19C ; =MOD16_021EE1A0
|
|
add r1, #0x40
|
|
mov r2, #0
|
|
bl FUN_0200CA44
|
|
str r0, [r4, #0x3c]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021EE19C: .word MOD16_021EE1A0
|
|
thumb_func_end MOD16_021EE158
|
|
|
|
thumb_func_start MOD16_021EE1A0
|
|
MOD16_021EE1A0: ; 0x021EE1A0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4, #0x2c]
|
|
cmp r1, #5
|
|
bhi _021EE248
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EE1B6: ; jump table
|
|
.short _021EE1C2 - _021EE1B6 - 2 ; case 0
|
|
.short _021EE1CA - _021EE1B6 - 2 ; case 1
|
|
.short _021EE1D2 - _021EE1B6 - 2 ; case 2
|
|
.short _021EE1F4 - _021EE1B6 - 2 ; case 3
|
|
.short _021EE214 - _021EE1B6 - 2 ; case 4
|
|
.short _021EE23E - _021EE1B6 - 2 ; case 5
|
|
_021EE1C2:
|
|
mov r0, #2
|
|
str r0, [r4, #0x18]
|
|
str r0, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
_021EE1CA:
|
|
add r0, r4, #0
|
|
bl MOD16_021EE254
|
|
pop {r4, pc}
|
|
_021EE1D2:
|
|
ldr r1, [r4, #0x14]
|
|
ldr r0, _021EE24C ; =0xFFFFFDDE
|
|
mul r0, r1
|
|
str r0, [r4, #0x24]
|
|
mov r0, #0xb5
|
|
ldr r1, [r4, #0x14]
|
|
mvn r0, r0
|
|
mul r0, r1
|
|
str r0, [r4, #0x20]
|
|
mov r0, #3
|
|
str r0, [r4, #0x28]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
bl MOD16_021EE254
|
|
pop {r4, pc}
|
|
_021EE1F4:
|
|
ldr r1, [r4, #0x14]
|
|
ldr r0, _021EE250 ; =0x00000222
|
|
mul r0, r1
|
|
str r0, [r4, #0x24]
|
|
ldr r1, [r4, #0x14]
|
|
mov r0, #0xb6
|
|
mul r0, r1
|
|
str r0, [r4, #0x20]
|
|
mov r0, #4
|
|
str r0, [r4, #0x28]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
bl MOD16_021EE254
|
|
pop {r4, pc}
|
|
_021EE214:
|
|
mov r1, #0
|
|
str r1, [r4, #0x24]
|
|
ldr r0, [r4, #0x14]
|
|
sub r1, #0xb6
|
|
mul r1, r0
|
|
str r1, [r4, #0x20]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, [r4, #0x18]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
ble _021EE232
|
|
mov r0, #2
|
|
b _021EE234
|
|
_021EE232:
|
|
mov r0, #5
|
|
_021EE234:
|
|
str r0, [r4, #0x28]
|
|
add r0, r4, #0
|
|
bl MOD16_021EE254
|
|
pop {r4, pc}
|
|
_021EE23E:
|
|
bl FUN_0200CAB4
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
_021EE248:
|
|
pop {r4, pc}
|
|
nop
|
|
_021EE24C: .word 0xFFFFFDDE
|
|
_021EE250: .word 0x00000222
|
|
thumb_func_end MOD16_021EE1A0
|
|
|
|
thumb_func_start MOD16_021EE254
|
|
MOD16_021EE254: ; 0x021EE254
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
add r3, r0, #0
|
|
ldr r2, [r3, #0x20]
|
|
ldr r1, [r3, #0x24]
|
|
cmp r2, #0
|
|
bge _021EE276
|
|
ldr r0, [r3, #0x1c]
|
|
add r0, r0, r2
|
|
cmp r0, r1
|
|
blt _021EE26E
|
|
str r0, [r3, #0x1c]
|
|
b _021EE288
|
|
_021EE26E:
|
|
str r1, [r3, #0x1c]
|
|
ldr r0, [r3, #0x28]
|
|
str r0, [r3, #0x2c]
|
|
b _021EE288
|
|
_021EE276:
|
|
ldr r0, [r3, #0x1c]
|
|
add r0, r0, r2
|
|
cmp r0, r1
|
|
bgt _021EE282
|
|
str r0, [r3, #0x1c]
|
|
b _021EE288
|
|
_021EE282:
|
|
str r1, [r3, #0x1c]
|
|
ldr r0, [r3, #0x28]
|
|
str r0, [r3, #0x2c]
|
|
_021EE288:
|
|
ldr r0, [r3, #0x10]
|
|
str r0, [sp]
|
|
ldr r0, [r3, #0x1c]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [r3]
|
|
ldr r1, [r3, #4]
|
|
ldr r2, [r3, #8]
|
|
ldr r3, [r3, #0xc]
|
|
bl MOD16_021EE2A4
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021EE254
|
|
|
|
thumb_func_start MOD16_021EE2A4
|
|
MOD16_021EE2A4: ; 0x021EE2A4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
add r1, sp, #0x18
|
|
ldrh r1, [r1, #0x14]
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
bl FUN_02013F2C
|
|
add r0, sp, #0x18
|
|
ldrh r0, [r0, #0x14]
|
|
mov r2, #0xe
|
|
lsl r2, r2, #0xe
|
|
asr r0, r0, #4
|
|
lsl r4, r0, #1
|
|
add r0, r4, #1
|
|
lsl r1, r0, #1
|
|
ldr r0, _021EE354 ; =0x020FFA38
|
|
mov r3, #0
|
|
ldrsh r0, [r0, r1]
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r5, r2, #0xc
|
|
orr r5, r0
|
|
mov r2, #0xe
|
|
ldr r0, _021EE354 ; =0x020FFA38
|
|
lsl r1, r4, #1
|
|
ldrsh r0, [r0, r1]
|
|
lsl r2, r2, #0xe
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
lsl r2, r2, #0xa
|
|
mov r3, #0
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsr r4, r0, #0xc
|
|
lsl r0, r2, #8
|
|
lsl r1, r1, #0x14
|
|
add r0, r5, r0
|
|
orr r4, r1
|
|
str r0, [sp, #4]
|
|
lsl r0, r2, #7
|
|
add r0, r4, r0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
bl FUN_02020044
|
|
mov r0, #6
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r1, sp, #4
|
|
bl FUN_02020044
|
|
mov r0, #2
|
|
lsl r0, r0, #0x12
|
|
sub r1, r0, r5
|
|
lsr r0, r0, #1
|
|
sub r0, r0, r4
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
add r1, sp, #4
|
|
bl FUN_02020044
|
|
mov r0, #6
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
add r1, sp, #4
|
|
bl FUN_02020044
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EE354: .word 0x020FFA38
|
|
thumb_func_end MOD16_021EE2A4
|
|
|
|
thumb_func_start MOD16_021EE358
|
|
MOD16_021EE358: ; 0x021EE358
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #0xc]
|
|
add r5, r4, #0
|
|
str r0, [r4, #0x74]
|
|
ldr r0, [r4, #0xc]
|
|
add r5, #0xb8
|
|
str r0, [r4, #0x78]
|
|
ldr r0, [r4, #0x10]
|
|
str r0, [r4, #0x7c]
|
|
add r0, r4, #0
|
|
ldr r1, [r4]
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #4]
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r1, r4, #0
|
|
mov r0, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0x94
|
|
str r5, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xb8
|
|
str r0, [r1]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _021EE3A4
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
str r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
str r3, [r0]
|
|
b _021EE3B4
|
|
_021EE3A4:
|
|
add r0, r4, #0
|
|
neg r1, r2
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
neg r1, r3
|
|
add r0, #0x90
|
|
str r1, [r0]
|
|
_021EE3B4:
|
|
add r1, r4, #0
|
|
ldr r0, _021EE3C4 ; =MOD16_021EE3C8
|
|
add r1, #0x74
|
|
mov r2, #0
|
|
bl FUN_0200CA44
|
|
str r0, [r4, #0x3c]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EE3C4: .word MOD16_021EE3C8
|
|
thumb_func_end MOD16_021EE358
|
|
|
|
thumb_func_start MOD16_021EE3C8
|
|
MOD16_021EE3C8: ; 0x021EE3C8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ldr r2, [r5, #0x1c]
|
|
bge _021EE3EC
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r1, r0
|
|
cmp r0, r2
|
|
blt _021EE3E6
|
|
str r0, [r5, #0x14]
|
|
b _021EE3FC
|
|
_021EE3E6:
|
|
str r2, [r5, #0x14]
|
|
mov r4, #1
|
|
b _021EE3FC
|
|
_021EE3EC:
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r1, r0
|
|
cmp r0, r2
|
|
bgt _021EE3F8
|
|
str r0, [r5, #0x14]
|
|
b _021EE3FC
|
|
_021EE3F8:
|
|
str r2, [r5, #0x14]
|
|
mov r4, #1
|
|
_021EE3FC:
|
|
ldr r0, [r5, #0x10]
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [r5, #8]
|
|
ldr r3, [r5, #0xc]
|
|
bl MOD16_021EE2A4
|
|
cmp r4, #1
|
|
bne _021EE424
|
|
add r0, r6, #0
|
|
bl FUN_0200CAB4
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
_021EE424:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EE3C8
|
|
|
|
thumb_func_start MOD16_021EE428
|
|
MOD16_021EE428: ; 0x021EE428
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r2, #0
|
|
bne _021EE436
|
|
ldr r1, [r5, #4]
|
|
b _021EE438
|
|
_021EE436:
|
|
ldr r1, [r5]
|
|
_021EE438:
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
neg r0, r4
|
|
lsl r1, r0, #1
|
|
add r0, r5, #0
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x98
|
|
ldr r0, [r0]
|
|
bl FUN_0202011C
|
|
add r1, r5, #0
|
|
ldr r2, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
ldr r1, [r0, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xa0
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
add r0, #0xac
|
|
str r2, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xa4
|
|
strh r4, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
str r2, [r0]
|
|
add r0, r5, #0
|
|
add r1, #0xb8
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r2, [r0]
|
|
add r1, r5, #0
|
|
ldr r0, _021EE494 ; =MOD16_021EE498
|
|
add r1, #0x98
|
|
bl FUN_0200CA44
|
|
str r0, [r5, #0x3c]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021EE494: .word MOD16_021EE498
|
|
thumb_func_end MOD16_021EE428
|
|
|
|
thumb_func_start MOD16_021EE498
|
|
MOD16_021EE498: ; 0x021EE498
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #3
|
|
bhi _021EE5A2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EE4B2: ; jump table
|
|
.short _021EE4BA - _021EE4B2 - 2 ; case 0
|
|
.short _021EE50C - _021EE4B2 - 2 ; case 1
|
|
.short _021EE540 - _021EE4B2 - 2 ; case 2
|
|
.short _021EE586 - _021EE4B2 - 2 ; case 3
|
|
_021EE4BA:
|
|
ldr r0, [r4, #0x14]
|
|
add r3, r0, #1
|
|
str r3, [r4, #0x14]
|
|
mov r0, #0xc
|
|
ldrsh r0, [r4, r0]
|
|
add r1, r3, #0
|
|
mul r1, r3
|
|
add r2, r0, #0
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
mul r2, r3
|
|
asr r0, r0, #1
|
|
add r2, r2, r0
|
|
ldr r0, [r4, #4]
|
|
str r0, [sp]
|
|
ldr r1, [r4, #8]
|
|
lsl r0, r2, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
ldr r1, [r4, #0x14]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r1, r0
|
|
blt _021EE5A2
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
mov r0, #0xc
|
|
ldrsh r1, [r4, r0]
|
|
add sp, #0xc
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r0, r0, #1
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
pop {r4, r5, pc}
|
|
_021EE50C:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _021EE528
|
|
mov r0, #2
|
|
ldr r1, [r4, #4]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
bl FUN_02020044
|
|
_021EE528:
|
|
ldr r0, [r4, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x14]
|
|
cmp r0, #1
|
|
ble _021EE5A2
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [r4, #0x18]
|
|
add sp, #0xc
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
pop {r4, r5, pc}
|
|
_021EE540:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _021EE55C
|
|
mov r0, #2
|
|
ldr r1, [r4, #4]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
bl FUN_02020044
|
|
_021EE55C:
|
|
ldr r0, [r4, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x14]
|
|
cmp r0, #1
|
|
ble _021EE5A2
|
|
ldr r0, [r4, #0x10]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
ble _021EE57C
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
mov r0, #1
|
|
add sp, #0xc
|
|
str r0, [r4, #0x18]
|
|
pop {r4, r5, pc}
|
|
_021EE57C:
|
|
ldr r0, [r4, #0x18]
|
|
add sp, #0xc
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
pop {r4, r5, pc}
|
|
_021EE586:
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
bl FUN_02020044
|
|
add r0, r5, #0
|
|
bl FUN_0200CAB4
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
_021EE5A2:
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE498
|
|
|
|
thumb_func_start MOD16_021EE5A8
|
|
MOD16_021EE5A8: ; 0x021EE5A8
|
|
push {r4, r5}
|
|
mov r4, #0
|
|
cmp r1, #0
|
|
ble _021EE5CA
|
|
add r5, r0, #0
|
|
_021EE5B2:
|
|
ldr r3, [r5]
|
|
cmp r3, r2
|
|
blt _021EE5C2
|
|
mov r1, #0x14
|
|
mul r1, r4
|
|
add r0, r0, r1
|
|
pop {r4, r5}
|
|
bx lr
|
|
_021EE5C2:
|
|
add r4, r4, #1
|
|
add r5, #0x14
|
|
cmp r4, r1
|
|
blt _021EE5B2
|
|
_021EE5CA:
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
thumb_func_end MOD16_021EE5A8
|
|
|
|
thumb_func_start MOD16_021EE5D0
|
|
MOD16_021EE5D0: ; 0x021EE5D0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
add r7, r1, #0
|
|
add r4, r2, #0
|
|
bl FUN_0200955C
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
add r1, r5, #0
|
|
str r4, [sp]
|
|
add r1, #0xbc
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r1, [r1]
|
|
mov r2, #0x30
|
|
add r3, r7, #0
|
|
bl FUN_02003974
|
|
ldr r0, [sp, #4]
|
|
mov r1, #1
|
|
bl FUN_020B19C4
|
|
add r2, r5, #0
|
|
add r2, #0xbc
|
|
add r1, r0, #0
|
|
ldr r2, [r2]
|
|
mov r0, #0xe
|
|
mov r3, #0x60
|
|
bl FUN_0201C2C8
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_0200955C
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
add r1, r5, #0
|
|
str r4, [sp]
|
|
add r1, #0xc0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r1, [r1]
|
|
mov r2, #0x50
|
|
add r3, r7, #0
|
|
bl FUN_02003974
|
|
ldr r0, [sp, #8]
|
|
mov r1, #1
|
|
bl FUN_020B19C4
|
|
add r5, #0xc0
|
|
add r1, r0, #0
|
|
ldr r2, [r5]
|
|
mov r0, #0xe
|
|
mov r3, #0xa0
|
|
bl FUN_0201C2C8
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EE5D0
|
|
|
|
thumb_func_start MOD16_021EE654
|
|
MOD16_021EE654: ; 0x021EE654
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD16_021EE6CC
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021EE714
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl MOD16_021EE73C
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
str r0, [r5, #0x20]
|
|
bl MOD16_021EE76C
|
|
str r0, [r5, #0x24]
|
|
ldr r0, _021EE69C ; =MOD16_021EE770
|
|
str r0, [r5, #8]
|
|
ldr r0, _021EE6A0 ; =MOD16_021EE7AC
|
|
str r0, [r5, #0xc]
|
|
ldr r0, _021EE6A4 ; =MOD16_021EE810
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021EE6A8 ; =MOD16_021EE824
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _021EE6AC ; =MOD16_021EE8AC
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021EE6B0 ; =MOD16_021EE8DC
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EE69C: .word MOD16_021EE770
|
|
_021EE6A0: .word MOD16_021EE7AC
|
|
_021EE6A4: .word MOD16_021EE810
|
|
_021EE6A8: .word MOD16_021EE824
|
|
_021EE6AC: .word MOD16_021EE8AC
|
|
_021EE6B0: .word MOD16_021EE8DC
|
|
thumb_func_end MOD16_021EE654
|
|
|
|
thumb_func_start MOD16_021EE6B4
|
|
MOD16_021EE6B4: ; 0x021EE6B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD16_021EE740
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021EE754
|
|
ldr r0, [r4, #0x20]
|
|
bl MOD16_021EE768
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EE6B4
|
|
|
|
thumb_func_start MOD16_021EE6CC
|
|
MOD16_021EE6CC: ; 0x021EE6CC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EE6DE
|
|
bl ErrorHandling
|
|
_021EE6DE:
|
|
add r2, r4, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_021EE6E4:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021EE6E4
|
|
add r0, r5, #0
|
|
bl MOD16_021D7AEC
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B7C
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD16_021D7B5C
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B38
|
|
str r0, [r4, #4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EE6CC
|
|
|
|
thumb_func_start MOD16_021EE714
|
|
MOD16_021EE714: ; 0x021EE714
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _021EE726
|
|
bl ErrorHandling
|
|
_021EE726:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r0, r5, #0
|
|
bl MOD16_021D7B48
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EE714
|
|
|
|
thumb_func_start MOD16_021EE73C
|
|
MOD16_021EE73C: ; 0x021EE73C
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EE73C
|
|
|
|
thumb_func_start MOD16_021EE740
|
|
MOD16_021EE740: ; 0x021EE740
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EE74A
|
|
bl ErrorHandling
|
|
_021EE74A:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE740
|
|
|
|
thumb_func_start MOD16_021EE754
|
|
MOD16_021EE754: ; 0x021EE754
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021EE75E
|
|
bl ErrorHandling
|
|
_021EE75E:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE754
|
|
|
|
thumb_func_start MOD16_021EE768
|
|
MOD16_021EE768: ; 0x021EE768
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE768
|
|
|
|
thumb_func_start MOD16_021EE76C
|
|
MOD16_021EE76C: ; 0x021EE76C
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD16_021EE76C
|
|
|
|
thumb_func_start MOD16_021EE770
|
|
MOD16_021EE770: ; 0x021EE770
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r6, r1, #0
|
|
mov r1, #0x18
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
add r2, r4, #0
|
|
mov r1, #0x18
|
|
mov r0, #0
|
|
_021EE786:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _021EE786
|
|
mov r0, #4
|
|
str r0, [r4, #0x10]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EEA3C
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EEA88
|
|
str r4, [r5, #8]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE770
|
|
|
|
thumb_func_start MOD16_021EE7AC
|
|
MOD16_021EE7AC: ; 0x021EE7AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r4, [r0, #8]
|
|
cmp r1, #1
|
|
bne _021EE7BC
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EE7BC:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _021EE7C6
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021EE7C6:
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021EE80A
|
|
add r0, r4, #0
|
|
bl MOD16_021EEA80
|
|
ldr r0, [r5, #8]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #0
|
|
beq _021EE7F2
|
|
ldr r0, [r5, #4]
|
|
bl MOD16_021D9FB8
|
|
cmp r0, #0
|
|
beq _021EE7F2
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EEEB4
|
|
_021EE7F2:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EEA88
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _021EE80A
|
|
add r0, r5, #0
|
|
bl MOD16_021EEF00
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
_021EE80A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE7AC
|
|
|
|
thumb_func_start MOD16_021EE810
|
|
MOD16_021EE810: ; 0x021EE810
|
|
push {r4, lr}
|
|
ldr r4, [r0, #8]
|
|
add r0, r4, #0
|
|
bl MOD16_021EEAA0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EE810
|
|
|
|
thumb_func_start MOD16_021EE824
|
|
MOD16_021EE824: ; 0x021EE824
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021EE8A8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EE840: ; jump table
|
|
.short _021EE848 - _021EE840 - 2 ; case 0
|
|
.short _021EE862 - _021EE840 - 2 ; case 1
|
|
.short _021EE880 - _021EE840 - 2 ; case 2
|
|
.short _021EE896 - _021EE840 - 2 ; case 3
|
|
_021EE848:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x30
|
|
bl AllocFromHeap
|
|
str r0, [r4, #8]
|
|
mov r1, #0
|
|
mov r2, #0x30
|
|
bl memset
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE8A8
|
|
_021EE862:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EEAE0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl MOD16_021EE994
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE8A8
|
|
_021EE880:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl MOD16_021EEA00
|
|
cmp r0, #0
|
|
beq _021EE8A8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE8A8
|
|
_021EE896:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl MOD16_021D8B3C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EE8A8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EE824
|
|
|
|
thumb_func_start MOD16_021EE8AC
|
|
MOD16_021EE8AC: ; 0x021EE8AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r3, #8]
|
|
add r4, r2, #0
|
|
str r0, [sp]
|
|
add r5, r1, #0
|
|
ldr r0, [r4, #8]
|
|
ldr r7, [r5, #8]
|
|
bl MOD16_021E95C0
|
|
cmp r0, #0
|
|
beq _021EE8D8
|
|
ldr r2, [sp]
|
|
ldr r3, [r5, #4]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021EEE80
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EEEC8
|
|
_021EE8D8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EE8AC
|
|
|
|
thumb_func_start MOD16_021EE8DC
|
|
MOD16_021EE8DC: ; 0x021EE8DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r7, r2, #0
|
|
ldr r6, [r4, #8]
|
|
cmp r0, #4
|
|
bhi _021EE95E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EE8F8: ; jump table
|
|
.short _021EE902 - _021EE8F8 - 2 ; case 0
|
|
.short _021EE924 - _021EE8F8 - 2 ; case 1
|
|
.short _021EE93A - _021EE8F8 - 2 ; case 2
|
|
.short _021EE94C - _021EE8F8 - 2 ; case 3
|
|
.short _021EE95A - _021EE8F8 - 2 ; case 4
|
|
_021EE902:
|
|
mov r0, #0x79
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl MOD16_021D8B3C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD16_021EE994
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE95E
|
|
_021EE924:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD16_021EEA00
|
|
cmp r0, #0
|
|
beq _021EE95E
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE95E
|
|
_021EE93A:
|
|
ldr r2, [r4, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EEB10
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE95E
|
|
_021EE94C:
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021EE95E
|
|
_021EE95A:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EE95E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EE8DC
|
|
|
|
thumb_func_start MOD16_021EE964
|
|
MOD16_021EE964: ; 0x021EE964
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EE964
|
|
|
|
thumb_func_start MOD16_021EE97C
|
|
MOD16_021EE97C: ; 0x021EE97C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl FUN_02020398
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02011AF0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EE97C
|
|
|
|
thumb_func_start MOD16_021EE994
|
|
MOD16_021EE994: ; 0x021EE994
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021EE964
|
|
ldr r0, [r4, #8]
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021EE9FC
|
|
cmp r6, #0
|
|
beq _021EE9D8
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r2, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r2, r0
|
|
add r2, r1, #0
|
|
sub r2, #0x11
|
|
bl MOD16_021D8988
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EE9D8:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #0x19
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r3, r0
|
|
add r3, r1, #0
|
|
sub r3, #0x11
|
|
bl MOD16_021D8988
|
|
_021EE9FC:
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EE994
|
|
|
|
thumb_func_start MOD16_021EEA00
|
|
MOD16_021EEA00: ; 0x021EEA00
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD16_021E95B8
|
|
cmp r0, #0
|
|
beq _021EEA20
|
|
mov r0, #0x19
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl MOD16_021D89B4
|
|
b _021EEA26
|
|
_021EEA20:
|
|
mov r0, #2
|
|
bl FUN_0200A344
|
|
_021EEA26:
|
|
cmp r0, #0
|
|
beq _021EEA38
|
|
cmp r4, #0
|
|
beq _021EEA34
|
|
add r0, r6, #0
|
|
bl MOD16_021EE97C
|
|
_021EEA34:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021EEA38:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EEA00
|
|
|
|
thumb_func_start MOD16_021EEA3C
|
|
MOD16_021EEA3C: ; 0x021EEA3C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
str r0, [r5, #4]
|
|
mov r0, #0xf8
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x68
|
|
mov r2, #0xb8
|
|
mov r3, #8
|
|
bl MOD16_021D7C98
|
|
str r4, [r5, #8]
|
|
str r5, [r5, #0xc]
|
|
str r6, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, [r5, #4]
|
|
ldr r2, _021EEA7C ; =MOD16_021EEAB8
|
|
mov r1, #1
|
|
add r3, #8
|
|
bl FUN_020220C4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021EEA7C: .word MOD16_021EEAB8
|
|
thumb_func_end MOD16_021EEA3C
|
|
|
|
thumb_func_start MOD16_021EEA80
|
|
MOD16_021EEA80: ; 0x021EEA80
|
|
mov r1, #3
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEA80
|
|
|
|
thumb_func_start MOD16_021EEA88
|
|
MOD16_021EEA88: ; 0x021EEA88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_02022144
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _021EEA9C
|
|
mov r0, #2
|
|
str r0, [r4, #0x10]
|
|
_021EEA9C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEA88
|
|
|
|
thumb_func_start MOD16_021EEAA0
|
|
MOD16_021EEAA0: ; 0x021EEAA0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_0202212C
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEAA0
|
|
|
|
thumb_func_start MOD16_021EEAB8
|
|
MOD16_021EEAB8: ; 0x021EEAB8
|
|
ldr r3, [r2, #4]
|
|
lsl r2, r0, #2
|
|
add r2, r3, r2
|
|
str r1, [r2, #0x10]
|
|
cmp r1, #0
|
|
beq _021EEACA
|
|
cmp r1, #2
|
|
beq _021EEAD4
|
|
bx lr
|
|
_021EEACA:
|
|
cmp r0, #0
|
|
bne _021EEADC
|
|
mov r0, #1
|
|
str r0, [r3, #0x14]
|
|
bx lr
|
|
_021EEAD4:
|
|
cmp r0, #0
|
|
bne _021EEADC
|
|
mov r0, #1
|
|
str r0, [r3, #0x14]
|
|
_021EEADC:
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEAB8
|
|
|
|
thumb_func_start MOD16_021EEAE0
|
|
MOD16_021EEAE0: ; 0x021EEAE0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021EEB50
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EEBB8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EEC6C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021EED04
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EEAE0
|
|
|
|
thumb_func_start MOD16_021EEB10
|
|
MOD16_021EEB10: ; 0x021EEB10
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
str r2, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
mov r2, #4
|
|
mov r3, #0x80
|
|
bl MOD16_021D8CFC
|
|
add r0, r5, #0
|
|
bl MOD16_021EECF8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EEDA0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EEC38
|
|
ldr r0, [r5, #0x2c]
|
|
cmp r0, #0
|
|
beq _021EEB4A
|
|
bl FreeToHeap
|
|
_021EEB4A:
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEB10
|
|
|
|
thumb_func_start MOD16_021EEB50
|
|
MOD16_021EEB50: ; 0x021EEB50
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
mov r1, #0x22
|
|
mov r3, #6
|
|
bl MOD16_021D8CB4
|
|
str r5, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0x3a
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl MOD16_021D8D48
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEB50
|
|
|
|
thumb_func_start MOD16_021EEBB8
|
|
MOD16_021EEBB8: ; 0x021EEBB8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r6, [r1]
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl MOD16_021D8C70
|
|
add r7, r0, #0
|
|
ldr r0, _021EEC2C ; =0x0000332E
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #5
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x66
|
|
mov r3, #1
|
|
bl FUN_020091E0
|
|
str r0, [r5, #8]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5, #8]
|
|
bl FUN_02009474
|
|
ldr r0, _021EEC30 ; =0x0000332C
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x52
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x64
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x10]
|
|
ldr r0, _021EEC34 ; =0x0000332D
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
str r4, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0x65
|
|
mov r3, #1
|
|
bl FUN_02009358
|
|
str r0, [r5, #0x14]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EEC2C: .word 0x0000332E
|
|
_021EEC30: .word 0x0000332C
|
|
_021EEC34: .word 0x0000332D
|
|
thumb_func_end MOD16_021EEBB8
|
|
|
|
thumb_func_start MOD16_021EEC38
|
|
MOD16_021EEC38: ; 0x021EEC38
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
ldr r4, [r1]
|
|
bl FUN_02009C0C
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #8]
|
|
bl FUN_02009490
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x10]
|
|
bl FUN_02009490
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r5, #0x14]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEC38
|
|
|
|
thumb_func_start MOD16_021EEC6C
|
|
MOD16_021EEC6C: ; 0x021EEC6C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x70
|
|
ldr r4, [r1]
|
|
ldr r3, _021EECF0 ; =0x0000332D
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r6, r2, #0
|
|
ldr r2, [r4, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021EECF4 ; =0x0000083F
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
add r1, r3, #1
|
|
add r0, sp, #0x4c
|
|
sub r3, r3, #1
|
|
bl FUN_02008AA4
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #9
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x40]
|
|
mov r0, #2
|
|
str r0, [sp, #0x44]
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x34]
|
|
mov r0, #3
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x12
|
|
str r1, [sp, #0x38]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
str r6, [sp, #0x48]
|
|
bl FUN_0201FF84
|
|
mov r1, #2
|
|
str r0, [r5]
|
|
bl FUN_02020130
|
|
add sp, #0x70
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EECF0: .word 0x0000332D
|
|
_021EECF4: .word 0x0000083F
|
|
thumb_func_end MOD16_021EEC6C
|
|
|
|
thumb_func_start MOD16_021EECF8
|
|
MOD16_021EECF8: ; 0x021EECF8
|
|
ldr r3, _021EED00 ; =FUN_0201FFC8
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021EED00: .word FUN_0201FFC8
|
|
thumb_func_end MOD16_021EECF8
|
|
|
|
thumb_func_start MOD16_021EED04
|
|
MOD16_021EED04: ; 0x021EED04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r2, #0
|
|
ldr r4, [r1]
|
|
cmp r0, #0
|
|
bne _021EED18
|
|
bl ErrorHandling
|
|
_021EED18:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021EED98 ; =0x0000083F
|
|
bl FUN_020094F0
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
mov r1, #7
|
|
mvn r1, r1
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r6, [sp, #0x2c]
|
|
bl FUN_0201E28C
|
|
add r7, r0, #0
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x10
|
|
mov r2, #2
|
|
bl MOD16_021DB388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _021EED9C ; =0x00000266
|
|
add r1, r6, #0
|
|
mov r3, #0x64
|
|
bl MOD16_021DB3C8
|
|
lsr r0, r0, #1
|
|
neg r0, r0
|
|
str r6, [sp, #0xc]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #8
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #4]
|
|
ldr r0, [r0]
|
|
add r1, r7, #4
|
|
bl FUN_02011A60
|
|
add r0, r6, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EED98: .word 0x0000083F
|
|
_021EED9C: .word 0x00000266
|
|
thumb_func_end MOD16_021EED04
|
|
|
|
thumb_func_start MOD16_021EEDA0
|
|
MOD16_021EEDA0: ; 0x021EEDA0
|
|
ldr r3, _021EEDA8 ; =MOD16_021DB338
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_021EEDA8: .word MOD16_021DB338
|
|
thumb_func_end MOD16_021EEDA0
|
|
|
|
thumb_func_start MOD16_021EEDAC
|
|
MOD16_021EEDAC: ; 0x021EEDAC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r1, #0
|
|
add r1, r3, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r4, [sp, #0x30]
|
|
ldr r6, [sp, #0x40]
|
|
mov r5, #0
|
|
bl MOD16_021D7B98
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x38]
|
|
bl MOD16_021EEE58
|
|
ldr r0, [sp, #8]
|
|
bl FUN_0202022C
|
|
cmp r0, #3
|
|
bhi _021EEE1E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EEDEA: ; jump table
|
|
.short _021EEDF2 - _021EEDEA - 2 ; case 0
|
|
.short _021EEDF2 - _021EEDEA - 2 ; case 1
|
|
.short _021EEE02 - _021EEDEA - 2 ; case 2
|
|
.short _021EEE10 - _021EEDEA - 2 ; case 3
|
|
_021EEDF2:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _021EEE1E
|
|
mov r0, #0
|
|
mov r5, #1
|
|
mov r7, #9
|
|
str r0, [r4]
|
|
b _021EEE1E
|
|
_021EEE02:
|
|
ldr r0, [r4]
|
|
cmp r0, #1
|
|
beq _021EEE1E
|
|
mov r5, #1
|
|
mov r7, #0xa
|
|
str r5, [r4]
|
|
b _021EEE1E
|
|
_021EEE10:
|
|
ldr r0, [r4]
|
|
cmp r0, #2
|
|
beq _021EEE1E
|
|
mov r0, #2
|
|
mov r5, #1
|
|
mov r7, #8
|
|
str r0, [r4]
|
|
_021EEE1E:
|
|
cmp r5, #0
|
|
beq _021EEE54
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
beq _021EEE2C
|
|
bl FreeToHeap
|
|
_021EEE2C:
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp, #0x34]
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
add r2, sp, #0x10
|
|
bl MOD16_021D8D70
|
|
str r0, [r6]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [r2, #0xc]
|
|
mov r0, #0x1f
|
|
lsl r1, r1, #5
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
cmp r0, #0
|
|
bne _021EEE54
|
|
bl ErrorHandling
|
|
_021EEE54:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EEDAC
|
|
|
|
thumb_func_start MOD16_021EEE58
|
|
MOD16_021EEE58: ; 0x021EEE58
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
bl MOD16_021D7BE4
|
|
add r0, r5, #0
|
|
bl FUN_0202022C
|
|
cmp r0, #2
|
|
ldr r0, [r4]
|
|
bge _021EEE78
|
|
add r1, r6, #0
|
|
bl FUN_02011AC0
|
|
pop {r4, r5, r6, pc}
|
|
_021EEE78:
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02011AC0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EEE58
|
|
|
|
thumb_func_start MOD16_021EEE80
|
|
MOD16_021EEE80: ; 0x021EEE80
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r5, r1, #0
|
|
mov r1, #7
|
|
mvn r1, r1
|
|
add r4, r2, #0
|
|
str r1, [sp]
|
|
mov r2, #4
|
|
add r1, r5, #0
|
|
str r2, [sp, #4]
|
|
add r1, #0x28
|
|
str r1, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r1, #1
|
|
str r1, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r1, #0x2c
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, #4]
|
|
ldr r3, [r4, #0x10]
|
|
bl MOD16_021EEDAC
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD16_021EEE80
|
|
|
|
thumb_func_start MOD16_021EEEB4
|
|
MOD16_021EEEB4: ; 0x021EEEB4
|
|
ldr r1, _021EEEC4 ; =0x021C48B8
|
|
ldr r2, [r1, #0x44]
|
|
mov r1, #1
|
|
tst r2, r1
|
|
beq _021EEEC0
|
|
str r1, [r0, #0x14]
|
|
_021EEEC0:
|
|
bx lr
|
|
nop
|
|
_021EEEC4: .word 0x021C48B8
|
|
thumb_func_end MOD16_021EEEB4
|
|
|
|
thumb_func_start MOD16_021EEEC8
|
|
MOD16_021EEEC8: ; 0x021EEEC8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #8]
|
|
bl MOD16_021E95C8
|
|
cmp r0, #1
|
|
bne _021EEEE8
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x90
|
|
mov r3, #0xe4
|
|
bl MOD16_021EEEEC
|
|
_021EEEE8:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD16_021EEEC8
|
|
|
|
thumb_func_start MOD16_021EEEEC
|
|
MOD16_021EEEEC: ; 0x021EEEEC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
ldr r0, [r0]
|
|
bl MOD16_021D8B04
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEEEC
|
|
|
|
thumb_func_start MOD16_021EEF00
|
|
MOD16_021EEF00: ; 0x021EEF00
|
|
ldr r3, _021EEF08 ; =MOD16_021E5C5C
|
|
ldr r0, [r0, #0xc]
|
|
mov r1, #1
|
|
bx r3
|
|
.align 2, 0
|
|
_021EEF08: .word MOD16_021E5C5C
|
|
thumb_func_end MOD16_021EEF00
|
|
|
|
thumb_func_start MOD16_021EEF0C
|
|
MOD16_021EEF0C: ; 0x021EEF0C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r1, #0x7a
|
|
ldr r0, [r5, #0xc]
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0x7a
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl memset
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021EEFA4
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021EF9B8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0xc]
|
|
mov r2, #0xa
|
|
mov r3, #0xf
|
|
bl MOD16_021EF9D8
|
|
ldr r0, _021EEF64 ; =MOD16_021EF90C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl FUN_0200CA44
|
|
mov r1, #7
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021EEF64: .word MOD16_021EF90C
|
|
thumb_func_end MOD16_021EEF0C
|
|
|
|
thumb_func_start MOD16_021EEF68
|
|
MOD16_021EEF68: ; 0x021EEF68
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD16_021EF174
|
|
mov r0, #7
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200CAB4
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEF68
|
|
|
|
thumb_func_start MOD16_021EEF84
|
|
MOD16_021EEF84: ; 0x021EEF84
|
|
mov r1, #0x6e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #4
|
|
bne _021EEF92
|
|
mov r0, #1
|
|
bx lr
|
|
_021EEF92:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EEF84
|
|
|
|
thumb_func_start MOD16_021EEF98
|
|
MOD16_021EEF98: ; 0x021EEF98
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end MOD16_021EEF98
|
|
|
|
thumb_func_start MOD16_021EEF9C
|
|
MOD16_021EEF9C: ; 0x021EEF9C
|
|
mov r2, #0x79
|
|
lsl r2, r2, #2
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
thumb_func_end MOD16_021EEF9C
|
|
|
|
thumb_func_start MOD16_021EEFA4
|
|
MOD16_021EEFA4: ; 0x021EEFA4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
mov r1, #0x6f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
str r0, [r5]
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x20
|
|
add r1, #0x10
|
|
bl FUN_02008C9C
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r4, #0xc]
|
|
bl FUN_020203CC
|
|
ldr r0, [r4, #0xc]
|
|
bl MOD16_021EFAEC
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0x30
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0x10]
|
|
mov r3, #0x48
|
|
bl MOD16_021EFAC0
|
|
str r0, [r5, #0xc]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #8]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [sp, #0x10]
|
|
add r0, sp, #4
|
|
bl MOD16_021DB228
|
|
mov r1, #0x53
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021EF218
|
|
mov r1, #0x3f
|
|
add r2, r1, #0
|
|
ldr r0, _021EF170 ; =0x04000050
|
|
sub r2, #0x4f
|
|
bl G2x_SetBlendBrightness_
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021EF318
|
|
str r0, [r5, #4]
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r5, r0
|
|
bl MOD16_021EF370
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
add r0, r5, r1
|
|
sub r1, #0x14
|
|
ldr r2, [r4, #0xc]
|
|
add r1, r5, r1
|
|
bl MOD16_021D9118
|
|
mov r2, #0x15
|
|
lsl r2, r2, #4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
add r1, r2, #0
|
|
sub r1, #0x18
|
|
add r0, r5, r2
|
|
sub r2, #0x14
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r4, #0xc]
|
|
add r2, r5, r2
|
|
bl MOD16_021D9318
|
|
ldr r0, [r4, #0x14]
|
|
mov r3, #0x15
|
|
lsl r3, r3, #4
|
|
str r0, [sp]
|
|
sub r1, r3, #4
|
|
add r0, r5, r3
|
|
add r3, #0x6c
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r4, #0xc]
|
|
ldr r3, [r5, r3]
|
|
bl MOD16_021EF3A8
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
mov r1, #0xac
|
|
mov r2, #0x20
|
|
bl MOD16_021D7F7C
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl MOD16_021D93D4
|
|
mov r2, #6
|
|
lsl r2, r2, #6
|
|
add r1, r2, #0
|
|
add r0, r5, r2
|
|
add r2, #0x3c
|
|
sub r1, #0x44
|
|
ldr r2, [r5, r2]
|
|
ldr r3, [r4, #0xc]
|
|
add r1, r5, r1
|
|
bl MOD16_021EF540
|
|
mov r2, #6
|
|
lsl r2, r2, #6
|
|
add r1, r2, #0
|
|
sub r1, #0x48
|
|
add r0, r5, r2
|
|
sub r2, #0x44
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r4, #0xc]
|
|
add r2, r5, r2
|
|
bl MOD16_021EF598
|
|
mov r2, #0x67
|
|
lsl r2, r2, #2
|
|
add r1, r2, #0
|
|
add r0, r5, r2
|
|
add r2, #0x20
|
|
sub r1, #0x60
|
|
ldr r2, [r5, r2]
|
|
ldr r3, [r4, #0xc]
|
|
add r1, r5, r1
|
|
bl MOD16_021EF6A4
|
|
mov r2, #0x6f
|
|
lsl r2, r2, #2
|
|
ldr r0, [r5, r2]
|
|
add r1, r2, #0
|
|
str r0, [sp]
|
|
add r0, r2, #0
|
|
sub r1, #0x84
|
|
sub r0, #0x20
|
|
sub r2, #0x80
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r4, #0xc]
|
|
add r0, r5, r0
|
|
add r2, r5, r2
|
|
bl MOD16_021EF6E0
|
|
mov r2, #0x69
|
|
lsl r2, r2, #2
|
|
add r0, r5, r2
|
|
str r0, [sp]
|
|
add r1, r2, #0
|
|
add r0, r2, #0
|
|
sub r1, #0x6c
|
|
sub r0, #0x10
|
|
sub r2, #0x68
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r4, #0xc]
|
|
add r0, r5, r0
|
|
add r2, r5, r2
|
|
bl MOD16_021EF5EC
|
|
mov r3, #0x16
|
|
lsl r3, r3, #4
|
|
ldr r0, [r5, r3]
|
|
add r1, r3, #0
|
|
str r0, [sp]
|
|
add r0, r3, #0
|
|
sub r1, #0x14
|
|
add r3, #0x5c
|
|
add r0, #0x34
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r4, #0xc]
|
|
ldr r3, [r5, r3]
|
|
add r0, r5, r0
|
|
bl MOD16_021EF648
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021EF790
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021EF8A8
|
|
mov r2, #0x6f
|
|
lsl r2, r2, #2
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, [r5, r2]
|
|
bl MOD16_021EFA48
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, [r4, #0x14]
|
|
add r0, r5, r0
|
|
bl MOD16_021EFB20
|
|
mov r0, #0x79
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021EF170: .word 0x04000050
|
|
thumb_func_end MOD16_021EEFA4
|
|
|
|
thumb_func_start MOD16_021EF174
|
|
MOD16_021EF174: ; 0x021EF174
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl MOD16_021EFBA4
|
|
mov r0, #0x67
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl MOD16_021EF774
|
|
mov r1, #0x67
|
|
lsl r1, r1, #2
|
|
add r0, r4, r1
|
|
sub r1, #0x60
|
|
add r1, r4, r1
|
|
bl MOD16_021EF6D4
|
|
mov r0, #0x65
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl MOD16_021EF698
|
|
mov r0, #0x65
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl MOD16_021EF63C
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
add r0, r4, r0
|
|
bl MOD16_021EF5E0
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
add r0, r4, r1
|
|
sub r1, #0x44
|
|
add r1, r4, r1
|
|
bl MOD16_021EF58C
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl MOD16_021EF418
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl MOD16_021D93AC
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
add r0, r4, r1
|
|
sub r1, #0x14
|
|
add r1, r4, r1
|
|
bl MOD16_021D91E8
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl MOD16_021EF390
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FD58
|
|
ldr r0, [r4, #4]
|
|
bl MOD16_021EF358
|
|
ldr r0, [r4]
|
|
bl MOD16_021EF2FC
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl MOD16_021DB288
|
|
bl MOD16_021EFB18
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EF174
|
|
|
|
thumb_func_start MOD16_021EF218
|
|
MOD16_021EF218: ; 0x021EF218
|
|
push {r4, r5, lr}
|
|
sub sp, #0x54
|
|
ldr r3, _021EF2F0 ; =0x021FF78C
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #0x38
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
mov r1, #1
|
|
str r0, [r2]
|
|
add r0, r5, #0
|
|
bl FUN_020178A0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, sp, #0x38
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #1
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
ldr r3, _021EF2F4 ; =0x021FF770
|
|
add r2, sp, #0x1c
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
mov r1, #2
|
|
str r0, [r2]
|
|
add r0, r5, #0
|
|
bl FUN_020178A0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, sp, #0x1c
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_020178BC
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_0201E6E4
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
ldr r3, _021EF2F8 ; =0x021FF7A8
|
|
add r2, sp, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
mov r1, #3
|
|
str r0, [r2]
|
|
add r0, r5, #0
|
|
bl FUN_020178A0
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, sp, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #3
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_02017F18
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_021EF2F0: .word 0x021FF78C
|
|
_021EF2F4: .word 0x021FF770
|
|
_021EF2F8: .word 0x021FF7A8
|
|
thumb_func_end MOD16_021EF218
|
|
|
|
thumb_func_start MOD16_021EF2FC
|
|
MOD16_021EF2FC: ; 0x021EF2FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EF2FC
|
|
|
|
thumb_func_start MOD16_021EF318
|
|
MOD16_021EF318: ; 0x021EF318
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl FUN_02018FF4
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
str r3, [sp, #0x10]
|
|
bl FUN_02019064
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
bl FUN_020191D0
|
|
add r0, r4, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF318
|
|
|
|
thumb_func_start MOD16_021EF358
|
|
MOD16_021EF358: ; 0x021EF358
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02019570
|
|
add r0, r4, #0
|
|
bl FUN_02019178
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020191A4
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EF358
|
|
|
|
thumb_func_start MOD16_021EF370
|
|
MOD16_021EF370: ; 0x021EF370
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
mov r7, #8
|
|
_021EF37A:
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl FUN_02008DEC
|
|
add r4, r4, #1
|
|
stmia r5!, {r0}
|
|
cmp r4, #4
|
|
blt _021EF37A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF370
|
|
|
|
thumb_func_start MOD16_021EF390
|
|
MOD16_021EF390: ; 0x021EF390
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021EF398:
|
|
ldr r0, [r5]
|
|
bl FUN_02008E2C
|
|
add r4, r4, #1
|
|
stmia r5!, {r6}
|
|
cmp r4, #4
|
|
blt _021EF398
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EF390
|
|
|
|
thumb_func_start MOD16_021EF3A8
|
|
MOD16_021EF3A8: ; 0x021EF3A8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
str r4, [sp, #4]
|
|
mov r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x3f
|
|
mvn r0, r0
|
|
str r0, [sp, #0x14]
|
|
add r0, #0x38
|
|
str r0, [sp, #0x18]
|
|
mov r0, #2
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #1
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x40]
|
|
str r6, [sp, #0x28]
|
|
cmp r0, #0
|
|
bne _021EF3EE
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021D7E68
|
|
b _021EF3F8
|
|
_021EF3EE:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021D7E48
|
|
_021EF3F8:
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x40]
|
|
str r4, [sp, #8]
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, sp, #4
|
|
mov r2, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021D8888
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF3A8
|
|
|
|
thumb_func_start MOD16_021EF418
|
|
MOD16_021EF418: ; 0x021EF418
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021EF42A
|
|
bl MOD16_021DB338
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
_021EF42A:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EF418
|
|
|
|
thumb_func_start MOD16_021EF42C
|
|
MOD16_021EF42C: ; 0x021EF42C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r7, [sp, #0x3c]
|
|
str r3, [sp, #0x10]
|
|
str r7, [sp]
|
|
mov r3, #1
|
|
add r6, r2, #0
|
|
str r3, [sp, #4]
|
|
add r4, r1, #0
|
|
str r6, [sp, #8]
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x28]
|
|
bl FUN_02008F34
|
|
str r0, [r5]
|
|
bl FUN_02009B04
|
|
ldr r0, [r5]
|
|
bl FUN_02009474
|
|
str r7, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [sp, #0x2c]
|
|
mov r3, #0
|
|
bl FUN_02008FEC
|
|
str r0, [r5, #4]
|
|
bl FUN_02009D68
|
|
ldr r0, [r5, #4]
|
|
bl FUN_02009474
|
|
str r7, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x30]
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
str r0, [r5, #8]
|
|
str r7, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x34]
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
str r0, [r5, #0xc]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EF42C
|
|
|
|
thumb_func_start MOD16_021EF4AC
|
|
MOD16_021EF4AC: ; 0x021EF4AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl FUN_02009C0C
|
|
ldr r0, [r5, #4]
|
|
bl FUN_02009E04
|
|
ldr r0, [r4]
|
|
ldr r1, [r5]
|
|
bl FUN_02009490
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #4]
|
|
bl FUN_02009490
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r5, #8]
|
|
bl FUN_02009490
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r5, #0xc]
|
|
bl FUN_02009490
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EF4AC
|
|
|
|
thumb_func_start MOD16_021EF4E0
|
|
MOD16_021EF4E0: ; 0x021EF4E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
add r6, r3, #0
|
|
bl FUN_02009530
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [r5, #4]
|
|
bl FUN_02009530
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [r5, #8]
|
|
bl FUN_02009530
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [r5, #0xc]
|
|
bl FUN_02009530
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r6, [sp, #0x10]
|
|
ldr r1, [r4]
|
|
ldr r2, [sp, #0x30]
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [r4, #4]
|
|
ldr r3, [sp, #0x34]
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [r4, #8]
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [r4, #0xc]
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r7, #0
|
|
bl FUN_02008AA4
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF4E0
|
|
|
|
thumb_func_start MOD16_021EF540
|
|
MOD16_021EF540: ; 0x021EF540
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x18]
|
|
str r3, [sp, #0x1c]
|
|
bl MOD16_021D8520
|
|
str r0, [sp, #0x20]
|
|
add r0, r4, #0
|
|
bl MOD16_021D8524
|
|
add r4, r0, #0
|
|
bl MOD16_021D8528
|
|
add r6, r0, #0
|
|
bl MOD16_021D852C
|
|
add r7, r0, #0
|
|
bl MOD16_021D8530
|
|
str r4, [sp]
|
|
str r6, [sp, #4]
|
|
str r7, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x1c]
|
|
ldr r3, [sp, #0x20]
|
|
add r0, r5, #4
|
|
bl MOD16_021EF42C
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EF540
|
|
|
|
thumb_func_start MOD16_021EF58C
|
|
MOD16_021EF58C: ; 0x021EF58C
|
|
ldr r3, _021EF594 ; =MOD16_021EF4AC
|
|
add r0, r0, #4
|
|
bx r3
|
|
nop
|
|
_021EF594: .word MOD16_021EF4AC
|
|
thumb_func_end MOD16_021EF58C
|
|
|
|
thumb_func_start MOD16_021EF598
|
|
MOD16_021EF598: ; 0x021EF598
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x44
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
add r1, r2, #0
|
|
add r0, r5, #4
|
|
add r2, sp, #0
|
|
mov r3, #2
|
|
bl MOD16_021EF4E0
|
|
add r0, sp, #0
|
|
str r0, [sp, #0x28]
|
|
mov r0, #1
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x1e
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0x24
|
|
str r4, [sp, #0x24]
|
|
str r6, [sp, #0x40]
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
cmp r0, #0
|
|
bne _021EF5DA
|
|
bl ErrorHandling
|
|
_021EF5DA:
|
|
add sp, #0x44
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF598
|
|
|
|
thumb_func_start MOD16_021EF5E0
|
|
MOD16_021EF5E0: ; 0x021EF5E0
|
|
ldr r3, _021EF5E8 ; =FUN_0201FFC8
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021EF5E8: .word FUN_0201FFC8
|
|
thumb_func_end MOD16_021EF5E0
|
|
|
|
thumb_func_start MOD16_021EF5EC
|
|
MOD16_021EF5EC: ; 0x021EF5EC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x44
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
add r1, r2, #0
|
|
ldr r0, [sp, #0x58]
|
|
add r2, sp, #0
|
|
mov r3, #2
|
|
bl MOD16_021EF4E0
|
|
add r0, sp, #0
|
|
str r0, [sp, #0x28]
|
|
mov r0, #1
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x38]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0xd
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0x24
|
|
str r4, [sp, #0x24]
|
|
str r6, [sp, #0x40]
|
|
bl FUN_0201FF84
|
|
str r0, [r5]
|
|
cmp r0, #0
|
|
bne _021EF62E
|
|
bl ErrorHandling
|
|
_021EF62E:
|
|
ldr r0, [r5]
|
|
mov r1, #0x11
|
|
bl FUN_02020130
|
|
add sp, #0x44
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF5EC
|
|
|
|
thumb_func_start MOD16_021EF63C
|
|
MOD16_021EF63C: ; 0x021EF63C
|
|
ldr r3, _021EF644 ; =FUN_0201FFC8
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021EF644: .word FUN_0201FFC8
|
|
thumb_func_end MOD16_021EF63C
|
|
|
|
thumb_func_start MOD16_021EF648
|
|
MOD16_021EF648: ; 0x021EF648
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r3, #0
|
|
add r6, r2, #0
|
|
bl MOD16_021E57C8
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x40]
|
|
str r7, [sp]
|
|
mov r1, #0
|
|
bl FUN_02009E54
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x4d
|
|
mvn r0, r0
|
|
str r0, [sp, #0x10]
|
|
add r0, #0x46
|
|
str r0, [sp, #0x14]
|
|
mov r0, #2
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #1
|
|
str r0, [sp, #0x20]
|
|
str r6, [sp, #0x24]
|
|
str r4, [sp, #4]
|
|
add r0, sp, #0
|
|
bl MOD16_021DB2BC
|
|
str r0, [r5, #4]
|
|
add r0, r4, #0
|
|
bl MOD16_021DB3BC
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EF648
|
|
|
|
thumb_func_start MOD16_021EF698
|
|
MOD16_021EF698: ; 0x021EF698
|
|
ldr r3, _021EF6A0 ; =MOD16_021DB338
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_021EF6A0: .word MOD16_021DB338
|
|
thumb_func_end MOD16_021EF698
|
|
|
|
thumb_func_start MOD16_021EF6A4
|
|
MOD16_021EF6A4: ; 0x021EF6A4
|
|
push {r3, lr}
|
|
sub sp, #0x18
|
|
mov r2, #0x5a
|
|
str r2, [sp]
|
|
mov r2, #0xd
|
|
str r2, [sp, #4]
|
|
mov r2, #0x58
|
|
str r2, [sp, #8]
|
|
mov r2, #0x59
|
|
str r2, [sp, #0xc]
|
|
mov r2, #5
|
|
str r2, [sp, #0x10]
|
|
ldr r2, _021EF6D0 ; =0x00004268
|
|
add r0, #8
|
|
str r2, [sp, #0x14]
|
|
add r2, r3, #0
|
|
mov r3, #0x45
|
|
bl MOD16_021EF42C
|
|
add sp, #0x18
|
|
pop {r3, pc}
|
|
nop
|
|
_021EF6D0: .word 0x00004268
|
|
thumb_func_end MOD16_021EF6A4
|
|
|
|
thumb_func_start MOD16_021EF6D4
|
|
MOD16_021EF6D4: ; 0x021EF6D4
|
|
ldr r3, _021EF6DC ; =MOD16_021EF4AC
|
|
add r0, #8
|
|
bx r3
|
|
nop
|
|
_021EF6DC: .word MOD16_021EF4AC
|
|
thumb_func_end MOD16_021EF6D4
|
|
|
|
thumb_func_start MOD16_021EF6E0
|
|
MOD16_021EF6E0: ; 0x021EF6E0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x4c
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
ldr r0, [sp, #0x60]
|
|
mov r1, #6
|
|
str r2, [sp]
|
|
str r3, [sp, #4]
|
|
bl FUN_02068678
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x60]
|
|
mov r1, #7
|
|
bl FUN_02068678
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021E563C
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl MOD16_021E563C
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
ldr r1, [sp]
|
|
add r0, #8
|
|
add r2, sp, #8
|
|
mov r3, #2
|
|
bl MOD16_021EF4E0
|
|
add r0, sp, #8
|
|
str r0, [sp, #0x30]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [sp, #4]
|
|
str r7, [sp, #0x2c]
|
|
str r0, [sp, #0x48]
|
|
mov r0, #0xaa
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
add r1, r4, #0
|
|
str r0, [r5]
|
|
bl FUN_02020130
|
|
cmp r4, r6
|
|
beq _021EF76C
|
|
mov r0, #0x37
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FF84
|
|
add r1, r6, #0
|
|
str r0, [r5, #4]
|
|
bl FUN_02020130
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021EF76C:
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021EF6E0
|
|
|
|
thumb_func_start MOD16_021EF774
|
|
MOD16_021EF774: ; 0x021EF774
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _021EF782
|
|
bl FUN_0201FFC8
|
|
_021EF782:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021EF78C
|
|
bl FUN_0201FFC8
|
|
_021EF78C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF774
|
|
|
|
thumb_func_start MOD16_021EF790
|
|
MOD16_021EF790: ; 0x021EF790
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
str r2, [sp]
|
|
mov r0, #0x45
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
str r4, [sp, #4]
|
|
bl FUN_02006930
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
mov r0, #0x45
|
|
mov r1, #0x21
|
|
add r2, r5, #0
|
|
mov r3, #3
|
|
bl FUN_0200687C
|
|
str r4, [sp]
|
|
mov r0, #0x45
|
|
mov r1, #0x32
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl FUN_02006BDC
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
mov r0, #0x45
|
|
mov r1, #0x33
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl FUN_02006BDC
|
|
ldr r2, [sp, #0x10]
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
add r6, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r3, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
mov r0, #0x45
|
|
mov r1, #0x34
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl FUN_02006BDC
|
|
add r6, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl FUN_02018148
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
str r4, [sp]
|
|
mov r0, #0x45
|
|
mov r1, #0x36
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl FUN_02006BDC
|
|
add r4, r0, #0
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldrh r0, [r2]
|
|
mov r1, #3
|
|
mov r3, #0
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EF790
|
|
|
|
thumb_func_start MOD16_021EF8A8
|
|
MOD16_021EF8A8: ; 0x021EF8A8
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
add r5, r1, #0
|
|
str r0, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
mov r0, #0x45
|
|
mov r1, #0x21
|
|
add r2, r4, #0
|
|
mov r3, #2
|
|
bl FUN_0200687C
|
|
str r5, [sp]
|
|
mov r0, #0x45
|
|
mov r1, #0x39
|
|
mov r2, #1
|
|
add r3, sp, #0x10
|
|
bl FUN_02006BDC
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl FUN_02018148
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_0201AC68
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EF8A8
|
|
|
|
thumb_func_start MOD16_021EF90C
|
|
MOD16_021EF90C: ; 0x021EF90C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r1, #0
|
|
mov r1, #0x6e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #4
|
|
bhi _021EF994
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EF928: ; jump table
|
|
.short _021EF932 - _021EF928 - 2 ; case 0
|
|
.short _021EF940 - _021EF928 - 2 ; case 1
|
|
.short _021EF958 - _021EF928 - 2 ; case 2
|
|
.short _021EF982 - _021EF928 - 2 ; case 3
|
|
.short _021EF994 - _021EF928 - 2 ; case 4
|
|
_021EF932:
|
|
ldr r0, _021EF9B4 ; =0x04000050
|
|
mov r2, #0
|
|
strh r2, [r0]
|
|
ldr r0, [r4, r1]
|
|
add r0, r0, #1
|
|
str r0, [r4, r1]
|
|
b _021EF994
|
|
_021EF940:
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0xc]
|
|
bl MOD16_021EFA28
|
|
cmp r0, #0
|
|
beq _021EF994
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
b _021EF994
|
|
_021EF958:
|
|
add r2, r1, #0
|
|
add r2, #0x47
|
|
str r2, [sp]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r0, #0xe
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r3, r2, #0
|
|
bl FUN_020056AC
|
|
cmp r0, #0
|
|
bne _021EF976
|
|
bl ErrorHandling
|
|
_021EF976:
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
b _021EF994
|
|
_021EF982:
|
|
bl FUN_02005670
|
|
cmp r0, #0
|
|
bne _021EF994
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
_021EF994:
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _021EF9A6
|
|
sub r0, #0x20
|
|
add r0, r4, r0
|
|
bl MOD16_021EFB78
|
|
_021EF9A6:
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FDEC
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021EF9B4: .word 0x04000050
|
|
thumb_func_end MOD16_021EF90C
|
|
|
|
thumb_func_start MOD16_021EF9B8
|
|
MOD16_021EF9B8: ; 0x021EF9B8
|
|
push {r4, lr}
|
|
mov r1, #0
|
|
mov r3, #2
|
|
add r2, r1, #0
|
|
lsl r3, r3, #8
|
|
add r4, r0, #0
|
|
bl FUN_02003108
|
|
mov r3, #7
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #0
|
|
lsl r3, r3, #6
|
|
bl FUN_02003108
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021EF9B8
|
|
|
|
thumb_func_start MOD16_021EF9D8
|
|
MOD16_021EF9D8: ; 0x021EF9D8
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
add r4, r3, #0
|
|
str r0, [sp]
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
bl FUN_02007E68
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x20]
|
|
lsl r3, r3, #0x18
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r2, _021EFA24 ; =0x0000FFFF
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
asr r3, r3, #0x18
|
|
bl FUN_02003210
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_020038F0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021EFA24: .word 0x0000FFFF
|
|
thumb_func_end MOD16_021EF9D8
|
|
|
|
thumb_func_start MOD16_021EFA28
|
|
MOD16_021EFA28: ; 0x021EFA28
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
bl FUN_020038E4
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl FUN_02007F20
|
|
cmp r4, #0
|
|
bne _021EFA44
|
|
cmp r0, #0
|
|
bne _021EFA44
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EFA44:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EFA28
|
|
|
|
thumb_func_start MOD16_021EFA48
|
|
MOD16_021EFA48: ; 0x021EFA48
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _021EFA68 ; =0x00020100
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
add r1, r2, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl MOD16_021E5064
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EFA6C
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021EFA68: .word 0x00020100
|
|
thumb_func_end MOD16_021EFA48
|
|
|
|
thumb_func_start MOD16_021EFA6C
|
|
MOD16_021EFA6C: ; 0x021EFA6C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r0, #0
|
|
mov r0, #0x40
|
|
add r4, r1, #0
|
|
bl FUN_020219F4
|
|
add r5, r0, #0
|
|
ldr r2, _021EFABC ; =0x00000266
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r3, r4, #0
|
|
bl FUN_0200A86C
|
|
mov r1, #0x6d
|
|
add r2, r5, #0
|
|
add r4, r0, #0
|
|
bl FUN_0200A8E0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xc1
|
|
str r1, [sp, #4]
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r2, r5, #0
|
|
mov r3, #0x20
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
bl FUN_0200A8B8
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EFABC: .word 0x00000266
|
|
thumb_func_end MOD16_021EFA6C
|
|
|
|
thumb_func_start MOD16_021EFAC0
|
|
MOD16_021EFAC0: ; 0x021EFAC0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r0, sp, #0x10
|
|
mov r2, #2
|
|
add r6, r3, #0
|
|
bl FUN_02068B68
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x10
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl FUN_020073A0
|
|
add sp, #0x20
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021EFAC0
|
|
|
|
thumb_func_start MOD16_021EFAEC
|
|
MOD16_021EFAEC: ; 0x021EFAEC
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
ldr r4, _021EFB10 ; =0x021FF760
|
|
add r3, sp, #0
|
|
add r5, r0, #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
|
|
ldr r1, _021EFB14 ; =0x00200010
|
|
mov r2, #0x10
|
|
str r5, [sp, #0xc]
|
|
bl FUN_0201D060
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EFB10: .word 0x021FF760
|
|
_021EFB14: .word 0x00200010
|
|
thumb_func_end MOD16_021EFAEC
|
|
|
|
thumb_func_start MOD16_021EFB18
|
|
MOD16_021EFB18: ; 0x021EFB18
|
|
ldr r3, _021EFB1C ; =FUN_0201D12C
|
|
bx r3
|
|
.align 2, 0
|
|
_021EFB1C: .word FUN_0201D12C
|
|
thumb_func_end MOD16_021EFB18
|
|
|
|
thumb_func_start MOD16_021EFB20
|
|
MOD16_021EFB20: ; 0x021EFB20
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
cmp r2, #0
|
|
bne _021EFB3A
|
|
add r2, r4, #0
|
|
mov r0, #0x45
|
|
mov r1, #0x17
|
|
add r2, #8
|
|
add r3, r5, #0
|
|
bl FUN_02006C08
|
|
b _021EFB48
|
|
_021EFB3A:
|
|
add r2, r4, #0
|
|
mov r0, #0x45
|
|
mov r1, #0x18
|
|
add r2, #8
|
|
add r3, r5, #0
|
|
bl FUN_02006C08
|
|
_021EFB48:
|
|
add r2, r4, #0
|
|
str r0, [r4]
|
|
mov r0, #0x45
|
|
mov r1, #0x1a
|
|
add r2, #0xc
|
|
add r3, r5, #0
|
|
bl FUN_02006C08
|
|
str r0, [r4, #4]
|
|
mov r1, #0
|
|
str r1, [r4, #0x10]
|
|
str r1, [r4, #0x1c]
|
|
add r2, r4, #0
|
|
_021EFB62:
|
|
add r1, r1, #1
|
|
lsl r0, r1, #4
|
|
str r0, [r2, #0x14]
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _021EFB62
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r4, #0
|
|
bl MOD16_021EFBC4
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021EFB20
|
|
|
|
thumb_func_start MOD16_021EFB78
|
|
MOD16_021EFB78: ; 0x021EFB78
|
|
push {r3, lr}
|
|
ldr r3, [r0, #0x1c]
|
|
lsl r1, r3, #2
|
|
add r1, r0, r1
|
|
ldr r2, [r1, #0x14]
|
|
ldr r1, [r0, #0x10]
|
|
cmp r2, r1
|
|
bgt _021EFB9E
|
|
add r1, r3, #1
|
|
str r1, [r0, #0x1c]
|
|
cmp r1, #2
|
|
blt _021EFB96
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c]
|
|
str r1, [r0, #0x10]
|
|
_021EFB96:
|
|
ldr r1, [r0, #0x1c]
|
|
bl MOD16_021EFBD8
|
|
pop {r3, pc}
|
|
_021EFB9E:
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x10]
|
|
pop {r3, pc}
|
|
thumb_func_end MOD16_021EFB78
|
|
|
|
thumb_func_start MOD16_021EFBA4
|
|
MOD16_021EFBA4: ; 0x021EFBA4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021EFBAA:
|
|
ldr r0, [r5]
|
|
bl FreeToHeap
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021EFBAA
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl memset
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EFBA4
|
|
|
|
thumb_func_start MOD16_021EFBC4
|
|
MOD16_021EFBC4: ; 0x021EFBC4
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #8]
|
|
ldr r3, _021EFBD4 ; =0x020C9550
|
|
ldr r0, [r0, #0xc]
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bx r3
|
|
.align 2, 0
|
|
_021EFBD4: .word 0x020C9550
|
|
thumb_func_end MOD16_021EFBC4
|
|
|
|
thumb_func_start MOD16_021EFBD8
|
|
MOD16_021EFBD8: ; 0x021EFBD8
|
|
push {r3, lr}
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
lsl r2, r2, #2
|
|
add r2, r3, r2
|
|
ldr r2, [r2, #8]
|
|
mov r0, #0xf
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #0
|
|
mov r3, #0x20
|
|
bl FUN_0201C2C8
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EFBD8
|
|
|
|
thumb_func_start MOD16_021EFBF4
|
|
MOD16_021EFBF4: ; 0x021EFBF4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
mov r2, #0xd5
|
|
lsl r2, r2, #2
|
|
str r1, [sp, #4]
|
|
add r1, r1, r2
|
|
str r0, [sp]
|
|
ldr r2, _021EFC7C ; =0x00001DE0
|
|
mov r0, #0
|
|
bl MIi_CpuClear32
|
|
ldr r0, [sp]
|
|
ldr r1, [r0, #0x2c]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021EFC70
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
tst r0, r1
|
|
bne _021EFC70
|
|
ldr r6, _021EFC80 ; =0x000003CD
|
|
mov r0, #0
|
|
add r7, r6, #0
|
|
mov ip, r0
|
|
sub r7, #0x31
|
|
_021EFC26:
|
|
mov r1, ip
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021EFC60
|
|
mov r0, ip
|
|
asr r4, r0, #1
|
|
ldr r0, [sp, #4]
|
|
lsl r3, r4, #3
|
|
ldr r2, [sp]
|
|
mov r1, #0
|
|
add r3, r0, r3
|
|
add r4, r0, r4
|
|
_021EFC3E:
|
|
add r0, r2, #0
|
|
add r0, #0xb0
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _021EFC58
|
|
ldr r5, _021EFC80 ; =0x000003CD
|
|
ldrb r5, [r4, r5]
|
|
lsl r5, r5, #1
|
|
add r5, r3, r5
|
|
strh r0, [r5, r7]
|
|
ldrb r0, [r4, r6]
|
|
add r0, r0, #1
|
|
strb r0, [r4, r6]
|
|
_021EFC58:
|
|
add r1, r1, #1
|
|
add r2, r2, #2
|
|
cmp r1, #4
|
|
blt _021EFC3E
|
|
_021EFC60:
|
|
ldr r0, [sp]
|
|
add r0, #0x34
|
|
str r0, [sp]
|
|
mov r0, ip
|
|
add r0, r0, #1
|
|
mov ip, r0
|
|
cmp r0, #4
|
|
blt _021EFC26
|
|
_021EFC70:
|
|
ldr r2, _021EFC84 ; =0x021F4E34
|
|
ldr r1, _021EFC88 ; =0x00002134
|
|
ldr r0, [sp, #4]
|
|
str r2, [r0, r1]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EFC7C: .word 0x00001DE0
|
|
_021EFC80: .word 0x000003CD
|
|
_021EFC84: .word 0x021F4E34
|
|
_021EFC88: .word 0x00002134
|
|
thumb_func_end MOD16_021EFBF4
|
|
|
|
thumb_func_start MOD16_021EFC8C
|
|
MOD16_021EFC8C: ; 0x021EFC8C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd5
|
|
add r5, r1, #0
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0
|
|
str r2, [sp, #8]
|
|
add r2, r0, #0
|
|
_021EFCA0:
|
|
strb r2, [r1, r0]
|
|
add r0, r0, #1
|
|
cmp r0, #0x1c
|
|
blo _021EFCA0
|
|
mov r0, #0
|
|
mov r1, #0x64
|
|
mov r7, #1
|
|
_021EFCAE:
|
|
add r4, r3, #0
|
|
tst r4, r7
|
|
beq _021EFCBE
|
|
mov r4, #0xd6
|
|
add r6, r5, r2
|
|
lsl r4, r4, #2
|
|
strb r1, [r6, r4]
|
|
b _021EFCC6
|
|
_021EFCBE:
|
|
mov r4, #0xd6
|
|
add r6, r5, r2
|
|
lsl r4, r4, #2
|
|
strb r0, [r6, r4]
|
|
_021EFCC6:
|
|
lsl r3, r3, #0x17
|
|
add r2, r2, #1
|
|
lsr r3, r3, #0x18
|
|
cmp r2, #4
|
|
blt _021EFCAE
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r2, [sp, #8]
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD11_02245D38
|
|
lsl r0, r0, #0x18
|
|
mov r4, #0
|
|
lsr r6, r0, #0x18
|
|
add r7, r4, #0
|
|
_021EFCEA:
|
|
add r0, r4, #0
|
|
bl MaskOfFlagNo
|
|
tst r0, r6
|
|
beq _021EFCFC
|
|
mov r0, #0xd6
|
|
add r1, r5, r4
|
|
lsl r0, r0, #2
|
|
strb r7, [r1, r0]
|
|
_021EFCFC:
|
|
bl rand_LC
|
|
lsr r1, r0, #0x1f
|
|
lsl r2, r0, #0x1c
|
|
sub r2, r2, r1
|
|
mov r0, #0x1c
|
|
ror r2, r0
|
|
add r1, r1, r2
|
|
mov r0, #0x64
|
|
sub r2, r0, r1
|
|
mov r0, #0xdb
|
|
add r1, r5, r4
|
|
lsl r0, r0, #2
|
|
add r4, r4, #1
|
|
strb r2, [r1, r0]
|
|
cmp r4, #4
|
|
blt _021EFCEA
|
|
mov r1, #0
|
|
add r0, #0x60
|
|
strb r1, [r5, r0]
|
|
ldr r1, [sp, #4]
|
|
mov r3, #0x80
|
|
ldr r2, [r1, #0x2c]
|
|
add r1, r2, #0
|
|
tst r1, r3
|
|
beq _021EFD38
|
|
mov r1, #7
|
|
sub r0, #0x6c
|
|
str r1, [r5, r0]
|
|
b _021EFD6E
|
|
_021EFD38:
|
|
add r1, r3, #0
|
|
add r1, #0x80
|
|
tst r1, r2
|
|
beq _021EFD48
|
|
lsl r1, r3, #0x16
|
|
sub r0, #0x6c
|
|
str r1, [r5, r0]
|
|
b _021EFD6E
|
|
_021EFD48:
|
|
ldr r2, _021EFD88 ; =0x00002408
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [r1, r2]
|
|
mov r1, #1
|
|
tst r1, r2
|
|
beq _021EFD5C
|
|
lsl r1, r3, #0x18
|
|
sub r0, #0x6c
|
|
str r1, [r5, r0]
|
|
b _021EFD6E
|
|
_021EFD5C:
|
|
ldr r1, [sp, #8]
|
|
mov r2, #0x34
|
|
mul r2, r1
|
|
ldr r1, [sp, #4]
|
|
sub r0, #0x6c
|
|
add r1, r1, r2
|
|
add r1, #0xb8
|
|
ldr r1, [r1]
|
|
str r1, [r5, r0]
|
|
_021EFD6E:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [r0, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021EFD84
|
|
mov r1, #0x36
|
|
lsl r1, r1, #4
|
|
ldr r2, [r5, r1]
|
|
mov r0, #0x80
|
|
orr r0, r2
|
|
str r0, [r5, r1]
|
|
_021EFD84:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EFD88: .word 0x00002408
|
|
thumb_func_end MOD16_021EFC8C
|
|
|
|
thumb_func_start MOD16_021EFD8C
|
|
MOD16_021EFD8C: ; 0x021EFD8C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r2, r1, #0
|
|
mov r1, #0xd9
|
|
ldr r4, [r5, #0x30]
|
|
lsl r1, r1, #2
|
|
ldrb r6, [r4, r1]
|
|
mov r3, #0x10
|
|
tst r3, r6
|
|
bne _021EFDBE
|
|
add r1, #0x6b
|
|
strb r2, [r4, r1]
|
|
add r1, r4, #0
|
|
bl MOD11_022482A4
|
|
mov r2, #0x3d
|
|
lsl r2, r2, #4
|
|
strb r0, [r4, r2]
|
|
sub r2, r2, #1
|
|
ldrb r2, [r4, r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xf
|
|
bl MOD16_021EFC8C
|
|
_021EFDBE:
|
|
ldr r1, [r5, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _021EFDD0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EFDDC
|
|
pop {r4, r5, r6, pc}
|
|
_021EFDD0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021EFED0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021EFD8C
|
|
|
|
thumb_func_start MOD16_021EFDDC
|
|
MOD16_021EFDDC: ; 0x021EFDDC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
bl MOD16_021F2CEC
|
|
mov r0, #0x36
|
|
lsl r0, r0, #4
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
beq _021EFE32
|
|
add r7, r0, #0
|
|
add r6, r0, #5
|
|
_021EFDF6:
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021EFE18
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
bne _021EFE10
|
|
mov r0, #0xd5
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
_021EFE10:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021F00F0
|
|
_021EFE18:
|
|
ldr r0, [r5, r7]
|
|
mov r1, #0
|
|
lsr r0, r0, #1
|
|
str r0, [r5, r7]
|
|
ldrb r0, [r5, r6]
|
|
add r0, r0, #1
|
|
strb r0, [r5, r6]
|
|
ldr r0, _021EFEC8 ; =0x00000355
|
|
strb r1, [r5, r0]
|
|
add r0, #0xb
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
bne _021EFDF6
|
|
_021EFE32:
|
|
mov r3, #0xd9
|
|
lsl r3, r3, #2
|
|
ldrb r1, [r5, r3]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021EFE42
|
|
mov r0, #4
|
|
b _021EFEB2
|
|
_021EFE42:
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021EFE4C
|
|
mov r0, #5
|
|
b _021EFEB2
|
|
_021EFE4C:
|
|
add r0, r3, #0
|
|
sub r0, #0xc
|
|
ldrsb r0, [r5, r0]
|
|
add r1, sp, #0
|
|
mov r4, #1
|
|
strb r0, [r1, #4]
|
|
mov r0, #0
|
|
strb r0, [r1]
|
|
add r3, #0x6b
|
|
ldrb r3, [r5, r3]
|
|
mov r0, #0xc0
|
|
add r2, r4, #0
|
|
mul r0, r3
|
|
add r0, r5, r0
|
|
add r3, r0, #2
|
|
_021EFE6A:
|
|
ldr r0, _021EFECC ; =0x00002D4C
|
|
ldrh r0, [r3, r0]
|
|
cmp r0, #0
|
|
beq _021EFE9C
|
|
mov r0, #0xd6
|
|
add r6, r5, r2
|
|
lsl r0, r0, #2
|
|
ldrsb r6, [r6, r0]
|
|
ldrb r0, [r1, #4]
|
|
cmp r0, r6
|
|
bne _021EFE90
|
|
add r0, sp, #4
|
|
strb r6, [r0, r4]
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
add r7, r4, #0
|
|
lsr r4, r0, #0x18
|
|
add r0, sp, #0
|
|
strb r2, [r0, r7]
|
|
_021EFE90:
|
|
ldrb r0, [r1, #4]
|
|
cmp r0, r6
|
|
bge _021EFE9C
|
|
strb r6, [r1, #4]
|
|
mov r4, #1
|
|
strb r2, [r1]
|
|
_021EFE9C:
|
|
add r2, r2, #1
|
|
add r3, r3, #2
|
|
cmp r2, #4
|
|
blt _021EFE6A
|
|
bl rand_LC
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, r1]
|
|
_021EFEB2:
|
|
mov r2, #0x3d
|
|
lsl r2, r2, #4
|
|
sub r1, r2, #1
|
|
ldrb r1, [r5, r1]
|
|
ldrb r3, [r5, r2]
|
|
add r2, #0xa
|
|
add r1, r5, r1
|
|
strb r3, [r1, r2]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EFEC8: .word 0x00000355
|
|
_021EFECC: .word 0x00002D4C
|
|
thumb_func_end MOD16_021EFDDC
|
|
|
|
thumb_func_start MOD16_021EFED0
|
|
MOD16_021EFED0: ; 0x021EFED0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x18
|
|
add r5, r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x20
|
|
str r5, [sp, #8]
|
|
str r0, [sp]
|
|
_021EFEE6:
|
|
ldr r0, _021F00DC ; =0x000003CF
|
|
ldrb r2, [r5, r0]
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r2
|
|
beq _021EFEFA
|
|
ldr r1, _021F00E0 ; =0x00002D8C
|
|
ldr r0, [sp, #8]
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
bne _021EFF08
|
|
_021EFEFA:
|
|
mov r1, #0
|
|
ldr r0, [sp, #4]
|
|
mvn r1, r1
|
|
strb r1, [r0]
|
|
ldr r0, [sp]
|
|
strh r1, [r0]
|
|
b _021F0026
|
|
_021EFF08:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
mov r3, #0xf
|
|
bl MOD16_021EFC8C
|
|
mov r1, #0x3d
|
|
ldr r0, [sp, #0xc]
|
|
lsl r1, r1, #4
|
|
strb r0, [r5, r1]
|
|
sub r1, r1, #1
|
|
mov r2, #1
|
|
ldrb r1, [r5, r1]
|
|
and r0, r2
|
|
and r1, r2
|
|
cmp r0, r1
|
|
beq _021EFF30
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021F2CEC
|
|
_021EFF30:
|
|
ldr r0, _021F00E4 ; =0x00000365
|
|
mov r2, #0
|
|
add r1, r0, #0
|
|
strb r2, [r5, r0]
|
|
sub r1, #0x10
|
|
strb r2, [r5, r1]
|
|
sub r0, r0, #5
|
|
ldr r4, [r5, r0]
|
|
cmp r4, #0
|
|
beq _021EFF7A
|
|
ldr r6, _021F00E4 ; =0x00000365
|
|
_021EFF46:
|
|
mov r0, #1
|
|
tst r0, r4
|
|
beq _021EFF68
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
bne _021EFF60
|
|
mov r0, #0xd5
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
_021EFF60:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021F00F0
|
|
_021EFF68:
|
|
ldrb r0, [r5, r6]
|
|
asr r4, r4, #1
|
|
mov r1, #0
|
|
add r0, r0, #1
|
|
strb r0, [r5, r6]
|
|
ldr r0, _021F00E8 ; =0x00000355
|
|
cmp r4, #0
|
|
strb r1, [r5, r0]
|
|
bne _021EFF46
|
|
_021EFF7A:
|
|
mov r2, #0xd9
|
|
lsl r2, r2, #2
|
|
ldrb r1, [r5, r2]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021EFF8E
|
|
ldr r0, [sp, #4]
|
|
mov r1, #4
|
|
strb r1, [r0]
|
|
b _021F0026
|
|
_021EFF8E:
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021EFF9C
|
|
ldr r0, [sp, #4]
|
|
mov r1, #5
|
|
strb r1, [r0]
|
|
b _021F0026
|
|
_021EFF9C:
|
|
add r0, r2, #0
|
|
sub r0, #0xc
|
|
ldrsb r1, [r5, r0]
|
|
add r0, sp, #0x10
|
|
add r2, #0x6b
|
|
strb r1, [r0, #4]
|
|
mov r1, #0
|
|
strb r1, [r0]
|
|
ldrb r3, [r5, r2]
|
|
mov r2, #0xc0
|
|
mov r4, #1
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
add r1, r4, #0
|
|
add r2, r2, #2
|
|
_021EFFBA:
|
|
ldr r3, _021F00EC ; =0x00002D4C
|
|
ldrh r3, [r2, r3]
|
|
cmp r3, #0
|
|
beq _021EFFE6
|
|
mov r3, #0xd6
|
|
add r6, r5, r1
|
|
lsl r3, r3, #2
|
|
ldrsb r3, [r6, r3]
|
|
ldrb r6, [r0, #4]
|
|
cmp r6, r3
|
|
bne _021EFFDA
|
|
add r6, sp, #0x14
|
|
strb r3, [r6, r4]
|
|
add r6, sp, #0x10
|
|
strb r1, [r6, r4]
|
|
add r4, r4, #1
|
|
_021EFFDA:
|
|
ldrb r6, [r0, #4]
|
|
cmp r6, r3
|
|
bge _021EFFE6
|
|
strb r3, [r0, #4]
|
|
strb r1, [r0]
|
|
mov r4, #1
|
|
_021EFFE6:
|
|
add r1, r1, #1
|
|
add r2, r2, #2
|
|
cmp r1, #4
|
|
blt _021EFFBA
|
|
bl rand_LC
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
add r0, sp, #0x10
|
|
ldrb r1, [r0, r1]
|
|
ldr r0, [sp, #4]
|
|
strb r1, [r0]
|
|
add r0, sp, #0x10
|
|
ldrb r1, [r0, #4]
|
|
ldr r0, [sp]
|
|
strh r1, [r0]
|
|
ldr r0, _021F00DC ; =0x000003CF
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #2
|
|
eor r1, r0
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r1
|
|
bne _021F0026
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, #0x64
|
|
bge _021F0026
|
|
ldr r0, [sp]
|
|
sub r1, r1, #1
|
|
strh r1, [r0]
|
|
_021F0026:
|
|
ldr r0, [sp, #8]
|
|
add r0, #0xc0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r0, r0, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #4
|
|
bge _021F0044
|
|
b _021EFEE6
|
|
_021F0044:
|
|
mov r1, #0x10
|
|
add r0, sp, #0x10
|
|
ldrsh r1, [r0, r1]
|
|
mov r2, #0
|
|
mov r6, #1
|
|
strb r2, [r0, #0xc]
|
|
add r2, sp, #0x20
|
|
add r4, r6, #0
|
|
add r2, #2
|
|
_021F0056:
|
|
mov r0, #0
|
|
ldrsh r3, [r2, r0]
|
|
cmp r1, r3
|
|
bne _021F0064
|
|
add r0, sp, #0x1c
|
|
strb r4, [r0, r6]
|
|
add r6, r6, #1
|
|
_021F0064:
|
|
cmp r1, r3
|
|
bge _021F0070
|
|
add r0, sp, #0x10
|
|
add r1, r3, #0
|
|
strb r4, [r0, #0xc]
|
|
mov r6, #1
|
|
_021F0070:
|
|
add r4, r4, #1
|
|
add r2, r2, #2
|
|
cmp r4, #4
|
|
blt _021F0056
|
|
bl rand_LC
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
add r0, sp, #0x1c
|
|
ldrb r3, [r0, r1]
|
|
ldr r0, _021F00DC ; =0x000003CF
|
|
ldrb r1, [r5, r0]
|
|
add r2, r5, r1
|
|
add r1, r0, #0
|
|
add r1, #0xb
|
|
strb r3, [r2, r1]
|
|
ldrb r2, [r5, r0]
|
|
add r1, r0, #0
|
|
add r1, #0xb
|
|
add r3, r5, r2
|
|
ldrb r1, [r3, r1]
|
|
add r3, sp, #0x18
|
|
add r0, #0x17
|
|
ldrsb r4, [r3, r1]
|
|
mov r3, #0xc0
|
|
mul r3, r2
|
|
add r3, r5, r3
|
|
lsl r2, r4, #1
|
|
add r3, r3, r2
|
|
ldr r2, _021F00EC ; =0x00002D4C
|
|
ldrh r2, [r3, r2]
|
|
lsl r2, r2, #4
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, r0]
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
cmp r2, r0
|
|
bne _021F00D2
|
|
add r0, r7, #0
|
|
bl MOD11_02230270
|
|
cmp r0, #0
|
|
bne _021F00D2
|
|
ldr r0, _021F00DC ; =0x000003CF
|
|
ldrb r2, [r5, r0]
|
|
add r0, #0xb
|
|
add r1, r5, r2
|
|
strb r2, [r1, r0]
|
|
_021F00D2:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F00DC: .word 0x000003CF
|
|
_021F00E0: .word 0x00002D8C
|
|
_021F00E4: .word 0x00000365
|
|
_021F00E8: .word 0x00000355
|
|
_021F00EC: .word 0x00002D4C
|
|
thumb_func_end MOD16_021EFED0
|
|
|
|
thumb_func_start MOD16_021F00F0
|
|
MOD16_021F00F0: ; 0x021F00F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r0, #0xd5
|
|
add r5, r1, #0
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #2
|
|
beq _021F01D6
|
|
mov r6, #0xd9
|
|
lsl r6, r6, #2
|
|
add r4, r6, #0
|
|
sub r4, #0x10
|
|
_021F0108:
|
|
cmp r0, #0
|
|
beq _021F0114
|
|
cmp r0, #1
|
|
beq _021F0154
|
|
cmp r0, #2
|
|
b _021F01CC
|
|
_021F0114:
|
|
ldr r1, _021F01D8 ; =0x00000365
|
|
ldr r0, _021F01DC ; =0x00002134
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r0, r1]
|
|
ldr r0, _021F01E0 ; =0x00002138
|
|
str r1, [r5, r0]
|
|
ldr r0, _021F01E4 ; =0x000003CF
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0xc0
|
|
mul r0, r1
|
|
add r3, r5, r0
|
|
ldr r0, _021F01E8 ; =0x00000355
|
|
ldrb r2, [r5, r0]
|
|
ldr r0, _021F01EC ; =0x00002D6C
|
|
add r1, r3, r2
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021F0140
|
|
mov r1, #0
|
|
b _021F0148
|
|
_021F0140:
|
|
lsl r0, r2, #1
|
|
add r1, r3, r0
|
|
ldr r0, _021F01F0 ; =0x00002D4C
|
|
ldrh r1, [r1, r0]
|
|
_021F0148:
|
|
ldr r0, _021F01F4 ; =0x00000356
|
|
strh r1, [r5, r0]
|
|
ldrb r0, [r5, r4]
|
|
add r0, r0, #1
|
|
strb r0, [r5, r4]
|
|
b _021F01CC
|
|
_021F0154:
|
|
ldr r0, _021F01F4 ; =0x00000356
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _021F0176
|
|
ldr r3, _021F01E0 ; =0x00002138
|
|
ldr r2, _021F01DC ; =0x00002134
|
|
ldr r3, [r5, r3]
|
|
ldr r2, [r5, r2]
|
|
lsl r3, r3, #2
|
|
ldr r2, [r2, r3]
|
|
add r0, r7, #0
|
|
lsl r3, r2, #2
|
|
ldr r2, _021F01F8 ; =0x021FF810
|
|
add r1, r5, #0
|
|
ldr r2, [r2, r3]
|
|
blx r2
|
|
b _021F018C
|
|
_021F0176:
|
|
ldr r0, _021F01E8 ; =0x00000355
|
|
mov r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r2, r5, r0
|
|
mov r0, #0xd6
|
|
lsl r0, r0, #2
|
|
strb r1, [r2, r0]
|
|
ldrb r1, [r5, r6]
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r5, r6]
|
|
_021F018C:
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021F01CC
|
|
ldr r0, _021F01E8 ; =0x00000355
|
|
ldrb r0, [r5, r0]
|
|
add r1, r0, #1
|
|
ldr r0, _021F01E8 ; =0x00000355
|
|
strb r1, [r5, r0]
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #4
|
|
bhs _021F01BE
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
bne _021F01BE
|
|
mov r0, #0xd5
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
b _021F01C4
|
|
_021F01BE:
|
|
ldrb r0, [r5, r4]
|
|
add r0, r0, #1
|
|
strb r0, [r5, r4]
|
|
_021F01C4:
|
|
ldrb r1, [r5, r6]
|
|
mov r0, #0xfe
|
|
and r0, r1
|
|
strb r0, [r5, r6]
|
|
_021F01CC:
|
|
mov r0, #0xd5
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #2
|
|
bne _021F0108
|
|
_021F01D6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F01D8: .word 0x00000365
|
|
_021F01DC: .word 0x00002134
|
|
_021F01E0: .word 0x00002138
|
|
_021F01E4: .word 0x000003CF
|
|
_021F01E8: .word 0x00000355
|
|
_021F01EC: .word 0x00002D6C
|
|
_021F01F0: .word 0x00002D4C
|
|
_021F01F4: .word 0x00000356
|
|
_021F01F8: .word 0x021FF810
|
|
thumb_func_end MOD16_021F00F0
|
|
|
|
thumb_func_start MOD16_021F01FC
|
|
MOD16_021F01FC: ; 0x021F01FC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
bl rand_LC
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x18
|
|
sub r1, r1, r2
|
|
mov r0, #0x18
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
cmp r0, r4
|
|
bge _021F0234
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F0234:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F01FC
|
|
|
|
thumb_func_start MOD16_021F0238
|
|
MOD16_021F0238: ; 0x021F0238
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
bl rand_LC
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x18
|
|
sub r1, r1, r2
|
|
mov r0, #0x18
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
cmp r0, r4
|
|
ble _021F0270
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F0270:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0238
|
|
|
|
thumb_func_start MOD16_021F0274
|
|
MOD16_021F0274: ; 0x021F0274
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
bl rand_LC
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x18
|
|
sub r1, r1, r2
|
|
mov r0, #0x18
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
cmp r4, r0
|
|
bne _021F02AC
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F02AC:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0274
|
|
|
|
thumb_func_start MOD16_021F02B0
|
|
MOD16_021F02B0: ; 0x021F02B0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
bl rand_LC
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x18
|
|
sub r1, r1, r2
|
|
mov r0, #0x18
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
cmp r4, r0
|
|
beq _021F02E8
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F02E8:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F02B0
|
|
|
|
thumb_func_start MOD16_021F02EC
|
|
MOD16_021F02EC: ; 0x021F02EC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
mov r2, #0xd6
|
|
lsl r2, r2, #2
|
|
sub r3, r2, #3
|
|
ldrb r5, [r4, r3]
|
|
add r1, r4, r2
|
|
ldrsb r3, [r1, r5]
|
|
add r0, r3, r0
|
|
strb r0, [r1, r5]
|
|
sub r0, r2, #3
|
|
ldrb r2, [r4, r0]
|
|
ldrsb r0, [r1, r2]
|
|
cmp r0, #0
|
|
bge _021F031C
|
|
mov r0, #0
|
|
strb r0, [r1, r2]
|
|
_021F031C:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F02EC
|
|
|
|
thumb_func_start MOD16_021F0320
|
|
MOD16_021F0320: ; 0x021F0320
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r3, _021F0374 ; =0x00002D8C
|
|
add r2, r5, r1
|
|
ldr r1, [r2, r3]
|
|
mov r0, #0x64
|
|
mul r0, r1
|
|
add r1, r3, #4
|
|
ldr r1, [r2, r1]
|
|
bl _u32_div_f
|
|
cmp r0, r6
|
|
bhs _021F0370
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F0370:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F0374: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F0320
|
|
|
|
thumb_func_start MOD16_021F0378
|
|
MOD16_021F0378: ; 0x021F0378
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r3, _021F03CC ; =0x00002D8C
|
|
add r2, r5, r1
|
|
ldr r1, [r2, r3]
|
|
mov r0, #0x64
|
|
mul r0, r1
|
|
add r1, r3, #4
|
|
ldr r1, [r2, r1]
|
|
bl _u32_div_f
|
|
cmp r0, r6
|
|
bls _021F03C8
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F03C8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F03CC: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F0378
|
|
|
|
thumb_func_start MOD16_021F03D0
|
|
MOD16_021F03D0: ; 0x021F03D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r3, _021F0424 ; =0x00002D8C
|
|
add r2, r5, r1
|
|
ldr r1, [r2, r3]
|
|
mov r0, #0x64
|
|
mul r0, r1
|
|
add r1, r3, #4
|
|
ldr r1, [r2, r1]
|
|
bl _u32_div_f
|
|
cmp r0, r6
|
|
bne _021F0420
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F0420:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F0424: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F03D0
|
|
|
|
thumb_func_start MOD16_021F0428
|
|
MOD16_021F0428: ; 0x021F0428
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r3, _021F047C ; =0x00002D8C
|
|
add r2, r5, r1
|
|
ldr r1, [r2, r3]
|
|
mov r0, #0x64
|
|
mul r0, r1
|
|
add r1, r3, #4
|
|
ldr r1, [r2, r1]
|
|
bl _u32_div_f
|
|
cmp r0, r6
|
|
beq _021F0478
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F0478:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F047C: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F0428
|
|
|
|
thumb_func_start MOD16_021F0480
|
|
MOD16_021F0480: ; 0x021F0480
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F04C8 ; =0x00002DAC
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
beq _021F04C4
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F04C4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F04C8: .word 0x00002DAC
|
|
thumb_func_end MOD16_021F0480
|
|
|
|
thumb_func_start MOD16_021F04CC
|
|
MOD16_021F04CC: ; 0x021F04CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F0514 ; =0x00002DAC
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
bne _021F0510
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F0510:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F0514: .word 0x00002DAC
|
|
thumb_func_end MOD16_021F04CC
|
|
|
|
thumb_func_start MOD16_021F0518
|
|
MOD16_021F0518: ; 0x021F0518
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F0560 ; =0x00002DB0
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
beq _021F055C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F055C:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F0560: .word 0x00002DB0
|
|
thumb_func_end MOD16_021F0518
|
|
|
|
thumb_func_start MOD16_021F0564
|
|
MOD16_021F0564: ; 0x021F0564
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F05AC ; =0x00002DB0
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
bne _021F05A8
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F05A8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F05AC: .word 0x00002DB0
|
|
thumb_func_end MOD16_021F0564
|
|
|
|
thumb_func_start MOD16_021F05B0
|
|
MOD16_021F05B0: ; 0x021F05B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
mov r0, #0xb7
|
|
add r1, r5, r1
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
beq _021F05F6
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F05F6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F05B0
|
|
|
|
thumb_func_start MOD16_021F05F8
|
|
MOD16_021F05F8: ; 0x021F05F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
mov r0, #0xb7
|
|
add r1, r5, r1
|
|
lsl r0, r0, #6
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
bne _021F063E
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F063E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F05F8
|
|
|
|
thumb_func_start MOD16_021F0640
|
|
MOD16_021F0640: ; 0x021F0640
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl MOD11_02230270
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
beq _021F068E
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F068E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F0640
|
|
|
|
thumb_func_start MOD16_021F0690
|
|
MOD16_021F0690: ; 0x021F0690
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl MOD11_02230270
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
tst r0, r6
|
|
bne _021F06DE
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F06DE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F0690
|
|
|
|
thumb_func_start MOD16_021F06E0
|
|
MOD16_021F06E0: ; 0x021F06E0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r4
|
|
bge _021F070C
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F070C:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F06E0
|
|
|
|
thumb_func_start MOD16_021F0710
|
|
MOD16_021F0710: ; 0x021F0710
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r4
|
|
ble _021F073C
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F073C:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0710
|
|
|
|
thumb_func_start MOD16_021F0740
|
|
MOD16_021F0740: ; 0x021F0740
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r4
|
|
bne _021F076C
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F076C:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0740
|
|
|
|
thumb_func_start MOD16_021F0770
|
|
MOD16_021F0770: ; 0x021F0770
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r4
|
|
beq _021F079C
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F079C:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0770
|
|
|
|
thumb_func_start MOD16_021F07A0
|
|
MOD16_021F07A0: ; 0x021F07A0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
tst r0, r4
|
|
beq _021F07CC
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F07CC:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F07A0
|
|
|
|
thumb_func_start MOD16_021F07D0
|
|
MOD16_021F07D0: ; 0x021F07D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
tst r0, r4
|
|
bne _021F07FC
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F07FC:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F07D0
|
|
|
|
thumb_func_start MOD16_021F0800
|
|
MOD16_021F0800: ; 0x021F0800
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
ldr r0, _021F082C ; =0x00000356
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, r4
|
|
bne _021F082A
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F082A:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F082C: .word 0x00000356
|
|
thumb_func_end MOD16_021F0800
|
|
|
|
thumb_func_start MOD16_021F0830
|
|
MOD16_021F0830: ; 0x021F0830
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
ldr r0, _021F085C ; =0x00000356
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, r4
|
|
beq _021F085A
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F085A:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F085C: .word 0x00000356
|
|
thumb_func_end MOD16_021F0830
|
|
|
|
thumb_func_start MOD16_021F0860
|
|
MOD16_021F0860: ; 0x021F0860
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021F2D74
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021F08B0
|
|
mov r6, #0xd7
|
|
add r7, r1, #0
|
|
lsl r6, r6, #2
|
|
_021F0892:
|
|
ldr r1, [r5, r6]
|
|
cmp r1, r0
|
|
bne _021F08A2
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F08A2:
|
|
add r4, r4, #1
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021F2D74
|
|
cmp r0, r7
|
|
bne _021F0892
|
|
_021F08B0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0860
|
|
|
|
thumb_func_start MOD16_021F08B4
|
|
MOD16_021F08B4: ; 0x021F08B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021F2D74
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021F08FA
|
|
mov r6, #0xd7
|
|
add r7, r1, #0
|
|
lsl r6, r6, #2
|
|
_021F08E6:
|
|
ldr r1, [r5, r6]
|
|
cmp r1, r0
|
|
beq _021F0902
|
|
add r4, r4, #1
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021F2D74
|
|
cmp r0, r7
|
|
bne _021F08E6
|
|
_021F08FA:
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F0902:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F08B4
|
|
|
|
thumb_func_start MOD16_021F0904
|
|
MOD16_021F0904: ; 0x021F0904
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
ldr r1, _021F095C ; =0x000003CF
|
|
mov ip, r0
|
|
ldrb r2, [r6, r1]
|
|
mov r1, #0xc0
|
|
mov r0, #0
|
|
mul r1, r2
|
|
add r3, r6, r1
|
|
ldr r7, _021F0960 ; =0x00002D4C
|
|
add r1, r3, #0
|
|
add r2, r0, #0
|
|
_021F092A:
|
|
ldrh r4, [r1, r7]
|
|
cmp r4, #0
|
|
beq _021F0942
|
|
ldr r4, _021F0960 ; =0x00002D4C
|
|
add r5, r3, r2
|
|
ldrh r4, [r5, r4]
|
|
lsl r4, r4, #4
|
|
add r5, r6, r4
|
|
ldr r4, _021F0964 ; =0x000003E1
|
|
ldrb r4, [r5, r4]
|
|
cmp r4, #0
|
|
bne _021F094C
|
|
_021F0942:
|
|
add r0, r0, #1
|
|
add r1, r1, #2
|
|
add r2, r2, #2
|
|
cmp r0, #4
|
|
blt _021F092A
|
|
_021F094C:
|
|
cmp r0, #4
|
|
bge _021F0958
|
|
add r0, r6, #0
|
|
mov r1, ip
|
|
bl MOD16_021F2D88
|
|
_021F0958:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F095C: .word 0x000003CF
|
|
_021F0960: .word 0x00002D4C
|
|
_021F0964: .word 0x000003E1
|
|
thumb_func_end MOD16_021F0904
|
|
|
|
thumb_func_start MOD16_021F0968
|
|
MOD16_021F0968: ; 0x021F0968
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
ldr r1, _021F09C0 ; =0x000003CF
|
|
mov ip, r0
|
|
ldrb r2, [r6, r1]
|
|
mov r1, #0xc0
|
|
mov r0, #0
|
|
mul r1, r2
|
|
add r3, r6, r1
|
|
ldr r7, _021F09C4 ; =0x00002D4C
|
|
add r1, r3, #0
|
|
add r2, r0, #0
|
|
_021F098E:
|
|
ldrh r4, [r1, r7]
|
|
cmp r4, #0
|
|
beq _021F09A6
|
|
ldr r4, _021F09C4 ; =0x00002D4C
|
|
add r5, r3, r2
|
|
ldrh r4, [r5, r4]
|
|
lsl r4, r4, #4
|
|
add r5, r6, r4
|
|
ldr r4, _021F09C8 ; =0x000003E1
|
|
ldrb r4, [r5, r4]
|
|
cmp r4, #0
|
|
bne _021F09B0
|
|
_021F09A6:
|
|
add r0, r0, #1
|
|
add r1, r1, #2
|
|
add r2, r2, #2
|
|
cmp r0, #4
|
|
blt _021F098E
|
|
_021F09B0:
|
|
cmp r0, #4
|
|
bne _021F09BC
|
|
add r0, r6, #0
|
|
mov r1, ip
|
|
bl MOD16_021F2D88
|
|
_021F09BC:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F09C0: .word 0x000003CF
|
|
_021F09C4: .word 0x00002D4C
|
|
_021F09C8: .word 0x000003E1
|
|
thumb_func_end MOD16_021F0968
|
|
|
|
thumb_func_start MOD16_021F09CC
|
|
MOD16_021F09CC: ; 0x021F09CC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F09CC
|
|
|
|
thumb_func_start MOD16_021F09E8
|
|
MOD16_021F09E8: ; 0x021F09E8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
cmp r0, #8
|
|
bls _021F0A02
|
|
b _021F0B0C
|
|
_021F0A02:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F0A0E: ; jump table
|
|
.short _021F0A36 - _021F0A0E - 2 ; case 0
|
|
.short _021F0A20 - _021F0A0E - 2 ; case 1
|
|
.short _021F0A64 - _021F0A0E - 2 ; case 2
|
|
.short _021F0A4E - _021F0A0E - 2 ; case 3
|
|
.short _021F0A7C - _021F0A0E - 2 ; case 4
|
|
.short _021F0AAE - _021F0A0E - 2 ; case 5
|
|
.short _021F0A90 - _021F0A0E - 2 ; case 6
|
|
.short _021F0AEC - _021F0A0E - 2 ; case 7
|
|
.short _021F0ACE - _021F0A0E - 2 ; case 8
|
|
_021F0A20:
|
|
ldr r1, _021F0B14 ; =0x000003CF
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0A36:
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0A4E:
|
|
ldr r1, _021F0B14 ; =0x000003CF
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0A64:
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0A7C:
|
|
ldr r0, _021F0B18 ; =0x00000356
|
|
ldrh r1, [r4, r0]
|
|
lsl r1, r1, #4
|
|
add r2, r4, r1
|
|
add r1, r0, #0
|
|
add r1, #0x8c
|
|
ldrb r1, [r2, r1]
|
|
add r0, r0, #6
|
|
str r1, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0A90:
|
|
ldr r1, _021F0B14 ; =0x000003CF
|
|
add r0, r5, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD11_022302BC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0AAE:
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MOD11_022302BC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0ACE:
|
|
ldr r1, _021F0B14 ; =0x000003CF
|
|
add r0, r5, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD11_022302BC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0AEC:
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MOD11_022302BC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0B0C:
|
|
bl ErrorHandling
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F0B14: .word 0x000003CF
|
|
_021F0B18: .word 0x00000356
|
|
thumb_func_end MOD16_021F09E8
|
|
|
|
thumb_func_start MOD16_021F0B1C
|
|
MOD16_021F0B1C: ; 0x021F0B1C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
cmp r4, r0
|
|
beq _021F0B64
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
cmp r4, r0
|
|
bne _021F0B6E
|
|
_021F0B64:
|
|
mov r0, #0xd7
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_021F0B6E:
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD16_021F0B1C
|
|
|
|
thumb_func_start MOD16_021F0B78
|
|
MOD16_021F0B78: ; 0x021F0B78
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, _021F0B98 ; =0x00000356
|
|
ldrh r1, [r4, r0]
|
|
lsl r1, r1, #4
|
|
add r2, r4, r1
|
|
add r1, r0, #0
|
|
add r1, #0x8b
|
|
ldrb r1, [r2, r1]
|
|
add r0, r0, #6
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F0B98: .word 0x00000356
|
|
thumb_func_end MOD16_021F0B78
|
|
|
|
thumb_func_start MOD16_021F0B9C
|
|
MOD16_021F0B9C: ; 0x021F0B9C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
add r6, r1, #0
|
|
str r0, [sp, #0x18]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
ldr r2, _021F0CB8 ; =0x00000356
|
|
str r0, [sp, #0x1c]
|
|
ldrh r3, [r6, r2]
|
|
add r2, #0x88
|
|
ldr r1, _021F0CBC ; =0x021FF7F4
|
|
lsl r7, r3, #4
|
|
add r3, r6, r7
|
|
ldrh r3, [r3, r2]
|
|
ldr r2, _021F0CC0 ; =0x0000FFFF
|
|
mov r0, #0
|
|
_021F0BC6:
|
|
ldrh r4, [r1]
|
|
cmp r3, r4
|
|
beq _021F0BD6
|
|
add r1, r1, #2
|
|
ldrh r4, [r1]
|
|
add r0, r0, #1
|
|
cmp r4, r2
|
|
bne _021F0BC6
|
|
_021F0BD6:
|
|
ldr r2, _021F0CC4 ; =0x021FF7DC
|
|
ldr r4, _021F0CC0 ; =0x0000FFFF
|
|
mov r1, #0
|
|
_021F0BDC:
|
|
ldrh r5, [r2]
|
|
cmp r3, r5
|
|
beq _021F0BEC
|
|
add r2, r2, #2
|
|
ldrh r5, [r2]
|
|
add r1, r1, #1
|
|
cmp r5, r4
|
|
bne _021F0BDC
|
|
_021F0BEC:
|
|
lsl r2, r1, #1
|
|
ldr r1, _021F0CC4 ; =0x021FF7DC
|
|
ldrh r1, [r1, r2]
|
|
ldr r2, _021F0CC0 ; =0x0000FFFF
|
|
cmp r1, r2
|
|
bne _021F0C0C
|
|
ldr r1, _021F0CC8 ; =0x000003E1
|
|
add r3, r6, r7
|
|
ldrb r1, [r3, r1]
|
|
cmp r1, #1
|
|
bls _021F0CAA
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F0CBC ; =0x021FF7F4
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, r2
|
|
bne _021F0CAA
|
|
_021F0C0C:
|
|
ldr r7, _021F0CCC ; =0x000003CF
|
|
mov r4, #0
|
|
add r5, sp, #0x20
|
|
_021F0C12:
|
|
ldrb r1, [r6, r7]
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r2, #0xa
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
strb r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021F0C12
|
|
ldr r0, _021F0CCC ; =0x000003CF
|
|
ldrb r4, [r6, r0]
|
|
mov r0, #0xc0
|
|
add r5, r4, #0
|
|
mul r5, r0
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x28
|
|
str r1, [sp]
|
|
ldr r3, _021F0CD0 ; =0x00002DB8
|
|
add r1, r6, r5
|
|
ldrh r1, [r1, r3]
|
|
add r2, r4, #0
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0x20
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
add r1, r6, r0
|
|
add r0, r3, #0
|
|
add r0, #0x14
|
|
ldr r0, [r1, r0]
|
|
sub r3, #0x6c
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x1c]
|
|
add r3, r6, r3
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r6, #0
|
|
add r3, r3, r5
|
|
bl MOD16_021F2DE0
|
|
ldr r0, _021F0CD4 ; =0x00000355
|
|
add r1, sp, #0x28
|
|
ldrb r0, [r6, r0]
|
|
mov r3, #0
|
|
lsl r0, r0, #2
|
|
ldr r2, [r1, r0]
|
|
_021F0C80:
|
|
ldr r0, [r1]
|
|
cmp r0, r2
|
|
bgt _021F0C8E
|
|
add r3, r3, #1
|
|
add r1, r1, #4
|
|
cmp r3, #4
|
|
blt _021F0C80
|
|
_021F0C8E:
|
|
cmp r3, #4
|
|
bne _021F0C9E
|
|
mov r0, #0xd7
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
add sp, #0x38
|
|
str r1, [r6, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0C9E:
|
|
mov r0, #0xd7
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
add sp, #0x38
|
|
str r1, [r6, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0CAA:
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r6, r0]
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F0CB8: .word 0x00000356
|
|
_021F0CBC: .word 0x021FF7F4
|
|
_021F0CC0: .word 0x0000FFFF
|
|
_021F0CC4: .word 0x021FF7DC
|
|
_021F0CC8: .word 0x000003E1
|
|
_021F0CCC: .word 0x000003CF
|
|
_021F0CD0: .word 0x00002DB8
|
|
_021F0CD4: .word 0x00000355
|
|
thumb_func_end MOD16_021F0B9C
|
|
|
|
thumb_func_start MOD16_021F0CD8
|
|
MOD16_021F0CD8: ; 0x021F0CD8
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
lsl r0, r0, #1
|
|
add r1, r4, r0
|
|
ldr r0, _021F0D08 ; =0x0000307C
|
|
ldrh r1, [r1, r0]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F0D08: .word 0x0000307C
|
|
thumb_func_end MOD16_021F0CD8
|
|
|
|
thumb_func_start MOD16_021F0D0C
|
|
MOD16_021F0D0C: ; 0x021F0D0C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r4, r0
|
|
bne _021F0D38
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F0D38:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0D0C
|
|
|
|
thumb_func_start MOD16_021F0D3C
|
|
MOD16_021F0D3C: ; 0x021F0D3C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r4, r0
|
|
beq _021F0D68
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F0D68:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F0D3C
|
|
|
|
thumb_func_start MOD16_021F0D6C
|
|
MOD16_021F0D6C: ; 0x021F0D6C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r3, _021F0DAC ; =0x000003CF
|
|
add r0, r6, #0
|
|
ldrb r2, [r5, r3]
|
|
add r3, r3, #1
|
|
ldrb r3, [r5, r3]
|
|
add r1, r5, #0
|
|
bl MOD11_02244248
|
|
cmp r4, r0
|
|
bne _021F0DAA
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F0DAA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F0DAC: .word 0x000003CF
|
|
thumb_func_end MOD16_021F0D6C
|
|
|
|
thumb_func_start MOD16_021F0DB0
|
|
MOD16_021F0DB0: ; 0x021F0DB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r3, _021F0DF0 ; =0x000003CF
|
|
add r0, r6, #0
|
|
ldrb r2, [r5, r3]
|
|
add r3, r3, #1
|
|
ldrb r3, [r5, r3]
|
|
add r1, r5, #0
|
|
bl MOD11_02244248
|
|
cmp r4, r0
|
|
beq _021F0DEE
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F0DEE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F0DF0: .word 0x000003CF
|
|
thumb_func_end MOD16_021F0DB0
|
|
|
|
thumb_func_start MOD16_021F0DF4
|
|
MOD16_021F0DF4: ; 0x021F0DF4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r2, r0, #0
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
lsl r1, r2, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
str r0, [sp]
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
bl MOD11_0222FF88
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r7, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F0E4E
|
|
ldr r0, [sp]
|
|
add r1, r5, r0
|
|
ldr r0, _021F0EC8 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
ldr r1, [sp]
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
bl MOD11_022302BC
|
|
add r1, r5, r0
|
|
ldr r0, _021F0EC8 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
b _021F0E5A
|
|
_021F0E4E:
|
|
ldr r0, [sp]
|
|
add r1, r5, r0
|
|
ldr r0, _021F0EC8 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
_021F0E5A:
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
mov r4, #0
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
ble _021F0EC4
|
|
_021F0E68:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r4, #0
|
|
bl FUN_0206B9B0
|
|
ldr r1, [sp, #8]
|
|
add r6, r0, #0
|
|
cmp r4, r1
|
|
beq _021F0EB6
|
|
ldr r1, [sp, #4]
|
|
cmp r4, r1
|
|
beq _021F0EB6
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F0EB6
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F0EB6
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F0ECC ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F0EB6
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r0, #1
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
_021F0EB6:
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
add r4, r4, #1
|
|
bl MOD11_0222FFC8
|
|
cmp r4, r0
|
|
blt _021F0E68
|
|
_021F0EC4:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F0EC8: .word 0x0000219C
|
|
_021F0ECC: .word 0x000001EE
|
|
thumb_func_end MOD16_021F0DF4
|
|
|
|
thumb_func_start MOD16_021F0ED0
|
|
MOD16_021F0ED0: ; 0x021F0ED0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, _021F0EE8 ; =0x00000356
|
|
ldrh r1, [r4, r0]
|
|
add r0, r0, #6
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F0EE8: .word 0x00000356
|
|
thumb_func_end MOD16_021F0ED0
|
|
|
|
thumb_func_start MOD16_021F0EEC
|
|
MOD16_021F0EEC: ; 0x021F0EEC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, _021F0F0C ; =0x00000356
|
|
ldrh r1, [r4, r0]
|
|
lsl r1, r1, #4
|
|
add r2, r4, r1
|
|
add r1, r0, #0
|
|
add r1, #0x88
|
|
ldrh r1, [r2, r1]
|
|
add r0, r0, #6
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F0F0C: .word 0x00000356
|
|
thumb_func_end MOD16_021F0EEC
|
|
|
|
thumb_func_start MOD16_021F0F10
|
|
MOD16_021F0F10: ; 0x021F0F10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
lsl r1, r7, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
mov r3, #0xb7
|
|
mov r2, #2
|
|
mov r0, #0xc0
|
|
add r6, r1, #0
|
|
mul r6, r0
|
|
add r0, r5, r6
|
|
lsl r3, r3, #6
|
|
ldr r4, [r0, r3]
|
|
lsl r2, r2, #0x14
|
|
tst r2, r4
|
|
beq _021F0F50
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0F50:
|
|
ldr r2, _021F0FE4 ; =0x000003CF
|
|
ldrb r4, [r5, r2]
|
|
cmp r4, r1
|
|
beq _021F0FD6
|
|
cmp r7, #3
|
|
beq _021F0FD6
|
|
add r4, r5, r1
|
|
add r1, r2, #0
|
|
sub r1, #0x3f
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _021F0F6E
|
|
sub r2, #0x73
|
|
str r1, [r5, r2]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0F6E:
|
|
add r1, r3, #0
|
|
sub r1, #0x59
|
|
ldrb r1, [r0, r1]
|
|
cmp r1, #0x17
|
|
beq _021F0F80
|
|
cmp r1, #0x2a
|
|
beq _021F0F80
|
|
cmp r1, #0x47
|
|
bne _021F0F88
|
|
_021F0F80:
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0F88:
|
|
sub r3, #0x80
|
|
add r7, r5, r3
|
|
ldrh r0, [r7, r6]
|
|
mov r1, #0x18
|
|
bl FUN_02068678
|
|
add r4, r0, #0
|
|
ldrh r0, [r7, r6]
|
|
mov r1, #0x19
|
|
bl FUN_02068678
|
|
add r6, r0, #0
|
|
cmp r4, #0
|
|
beq _021F0FC2
|
|
cmp r6, #0
|
|
beq _021F0FC2
|
|
bl rand_LC
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _021F0FBA
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r4, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0FBA:
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r6, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0FC2:
|
|
cmp r4, #0
|
|
beq _021F0FCE
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r4, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0FCE:
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r6, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F0FD6:
|
|
ldr r0, _021F0FE8 ; =0x00002D67
|
|
add r1, r5, r6
|
|
ldrb r1, [r1, r0]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F0FE4: .word 0x000003CF
|
|
_021F0FE8: .word 0x00002D67
|
|
thumb_func_end MOD16_021F0F10
|
|
|
|
thumb_func_start MOD16_021F0FEC
|
|
MOD16_021F0FEC: ; 0x021F0FEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
mov r2, #2
|
|
mov ip, r1
|
|
add r6, r5, r1
|
|
mov r1, #0xb7
|
|
lsl r1, r1, #6
|
|
ldr r3, [r6, r1]
|
|
lsl r2, r2, #0x14
|
|
tst r2, r3
|
|
beq _021F102C
|
|
mov r4, #0
|
|
b _021F1098
|
|
_021F102C:
|
|
cmp r4, #0
|
|
beq _021F1034
|
|
cmp r4, #2
|
|
bne _021F1094
|
|
_021F1034:
|
|
mov r1, #0x39
|
|
add r2, r5, r0
|
|
lsl r1, r1, #4
|
|
ldrb r4, [r2, r1]
|
|
cmp r4, #0
|
|
beq _021F1046
|
|
sub r1, #0x34
|
|
str r4, [r5, r1]
|
|
b _021F1098
|
|
_021F1046:
|
|
mov r1, ip
|
|
add r2, r5, r1
|
|
ldr r1, _021F10C0 ; =0x00002D67
|
|
ldrb r4, [r2, r1]
|
|
cmp r4, #0x17
|
|
beq _021F1098
|
|
cmp r4, #0x2a
|
|
beq _021F1098
|
|
cmp r4, #0x47
|
|
beq _021F1098
|
|
sub r1, #0x27
|
|
add r6, r5, r1
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldrh r0, [r6, r1]
|
|
str r1, [sp]
|
|
mov r1, #0x18
|
|
bl FUN_02068678
|
|
add r4, r0, #0
|
|
ldr r0, [sp]
|
|
mov r1, #0x19
|
|
ldrh r0, [r6, r0]
|
|
bl FUN_02068678
|
|
cmp r4, #0
|
|
beq _021F108C
|
|
cmp r0, #0
|
|
beq _021F108C
|
|
cmp r4, r7
|
|
beq _021F1088
|
|
cmp r0, r7
|
|
bne _021F1098
|
|
_021F1088:
|
|
mov r4, #0
|
|
b _021F1098
|
|
_021F108C:
|
|
cmp r4, #0
|
|
bne _021F1098
|
|
add r4, r0, #0
|
|
b _021F1098
|
|
_021F1094:
|
|
sub r1, #0x59
|
|
ldrb r4, [r6, r1]
|
|
_021F1098:
|
|
cmp r4, #0
|
|
bne _021F10A6
|
|
mov r0, #0xd7
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F10A6:
|
|
cmp r4, r7
|
|
bne _021F10B4
|
|
mov r0, #0xd7
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F10B4:
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F10C0: .word 0x00002D67
|
|
thumb_func_end MOD16_021F0FEC
|
|
|
|
thumb_func_start MOD16_021F10C4
|
|
MOD16_021F10C4: ; 0x021F10C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r0, #0
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0x10]
|
|
str r0, [r5, r1]
|
|
add r4, r0, #0
|
|
_021F10E0:
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _021F116C ; =0x000003CF
|
|
ldrb r2, [r5, r0]
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r0, r5, r0
|
|
add r1, r4, r0
|
|
ldr r0, _021F1170 ; =0x00002D4C
|
|
ldrh r6, [r1, r0]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r3, r6, #0
|
|
bl MOD16_021F32DC
|
|
add r3, r0, #0
|
|
cmp r6, #0
|
|
beq _021F115C
|
|
ldr r0, _021F116C ; =0x000003CF
|
|
add r1, r5, #0
|
|
ldrb r0, [r5, r0]
|
|
add r2, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r5, r0]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x28
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x14
|
|
str r0, [sp, #0xc]
|
|
add r0, r7, #0
|
|
bl MOD11_02246274
|
|
cmp r0, #0x78
|
|
bne _021F112C
|
|
mov r0, #0x50
|
|
b _021F1142
|
|
_021F112C:
|
|
cmp r0, #0xf0
|
|
bne _021F1134
|
|
mov r0, #0xa0
|
|
b _021F1142
|
|
_021F1134:
|
|
cmp r0, #0x1e
|
|
bne _021F113C
|
|
mov r0, #0x14
|
|
b _021F1142
|
|
_021F113C:
|
|
cmp r0, #0xf
|
|
bne _021F1142
|
|
mov r0, #0xa
|
|
_021F1142:
|
|
ldr r2, [sp, #0x14]
|
|
ldr r1, _021F1174 ; =0x00140808
|
|
tst r1, r2
|
|
beq _021F114C
|
|
mov r0, #0
|
|
_021F114C:
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
cmp r1, r0
|
|
bhs _021F115C
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
_021F115C:
|
|
ldr r0, [sp, #0x10]
|
|
add r4, r4, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #4
|
|
blt _021F10E0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F116C: .word 0x000003CF
|
|
_021F1170: .word 0x00002D4C
|
|
_021F1174: .word 0x00140808
|
|
thumb_func_end MOD16_021F10C4
|
|
|
|
thumb_func_start MOD16_021F1178
|
|
MOD16_021F1178: ; 0x021F1178
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r3, _021F1208 ; =0x000003CF
|
|
add r0, r5, #0
|
|
ldrb r6, [r4, r3]
|
|
sub r3, #0x79
|
|
ldrh r3, [r4, r3]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021F32DC
|
|
mov r2, #0x3d
|
|
str r6, [sp]
|
|
lsl r2, r2, #4
|
|
add r3, r0, #0
|
|
ldrb r0, [r4, r2]
|
|
sub r2, #0x7a
|
|
add r1, r4, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x28
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x14
|
|
str r0, [sp, #0xc]
|
|
ldrh r2, [r4, r2]
|
|
add r0, r5, #0
|
|
bl MOD11_02246274
|
|
cmp r0, #0x78
|
|
bne _021F11D6
|
|
mov r0, #0x50
|
|
b _021F11EC
|
|
_021F11D6:
|
|
cmp r0, #0xf0
|
|
bne _021F11DE
|
|
mov r0, #0xa0
|
|
b _021F11EC
|
|
_021F11DE:
|
|
cmp r0, #0x1e
|
|
bne _021F11E6
|
|
mov r0, #0x14
|
|
b _021F11EC
|
|
_021F11E6:
|
|
cmp r0, #0xf
|
|
bne _021F11EC
|
|
mov r0, #0xa
|
|
_021F11EC:
|
|
ldr r2, [sp, #0x14]
|
|
ldr r1, _021F120C ; =0x00140808
|
|
tst r1, r2
|
|
beq _021F11F6
|
|
mov r0, #0
|
|
_021F11F6:
|
|
cmp r0, r7
|
|
bne _021F1202
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
_021F1202:
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1208: .word 0x000003CF
|
|
_021F120C: .word 0x00140808
|
|
thumb_func_end MOD16_021F1178
|
|
|
|
thumb_func_start MOD16_021F1210
|
|
MOD16_021F1210: ; 0x021F1210
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0xc]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r6, r0, #0
|
|
ldr r1, [r7, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F126A
|
|
ldr r0, [sp]
|
|
add r1, r0, r6
|
|
ldr r0, _021F12FC ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
add r1, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
bl MOD11_022302BC
|
|
ldr r1, [sp]
|
|
add r1, r1, r0
|
|
ldr r0, _021F12FC ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
b _021F1276
|
|
_021F126A:
|
|
ldr r0, [sp]
|
|
add r1, r0, r6
|
|
ldr r0, _021F12FC ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
_021F1276:
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD11_0222FF88
|
|
str r0, [sp, #0x14]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
mov r5, #0
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
ble _021F12F8
|
|
_021F128E:
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
bl FUN_0206B9B0
|
|
ldr r1, [sp, #8]
|
|
add r4, r0, #0
|
|
cmp r5, r1
|
|
beq _021F12EA
|
|
ldr r1, [sp, #4]
|
|
cmp r5, r1
|
|
beq _021F12EA
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F12EA
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F12EA
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F1300 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F12EA
|
|
add r0, r4, #0
|
|
mov r1, #0x9f
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, [sp, #0x10]
|
|
tst r0, r1
|
|
beq _021F12EA
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #0xc]
|
|
bl MOD16_021F2D88
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F12EA:
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
add r5, r5, #1
|
|
bl MOD11_0222FFC8
|
|
cmp r5, r0
|
|
blt _021F128E
|
|
_021F12F8:
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F12FC: .word 0x0000219C
|
|
_021F1300: .word 0x000001EE
|
|
thumb_func_end MOD16_021F1210
|
|
|
|
thumb_func_start MOD16_021F1304
|
|
MOD16_021F1304: ; 0x021F1304
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0xc]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r6, r0, #0
|
|
ldr r1, [r7, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F135E
|
|
ldr r0, [sp]
|
|
add r1, r0, r6
|
|
ldr r0, _021F13F0 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
add r1, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
bl MOD11_022302BC
|
|
ldr r1, [sp]
|
|
add r1, r1, r0
|
|
ldr r0, _021F13F0 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
b _021F136A
|
|
_021F135E:
|
|
ldr r0, [sp]
|
|
add r1, r0, r6
|
|
ldr r0, _021F13F0 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
_021F136A:
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD11_0222FF88
|
|
str r0, [sp, #0x14]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
mov r5, #0
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
ble _021F13EC
|
|
_021F1382:
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
bl FUN_0206B9B0
|
|
ldr r1, [sp, #8]
|
|
add r4, r0, #0
|
|
cmp r5, r1
|
|
beq _021F13DE
|
|
ldr r1, [sp, #4]
|
|
cmp r5, r1
|
|
beq _021F13DE
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F13DE
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F13DE
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F13F4 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F13DE
|
|
add r0, r4, #0
|
|
mov r1, #0x9f
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, [sp, #0x10]
|
|
tst r0, r1
|
|
bne _021F13DE
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #0xc]
|
|
bl MOD16_021F2D88
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F13DE:
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
add r5, r5, #1
|
|
bl MOD11_0222FFC8
|
|
cmp r5, r0
|
|
blt _021F1382
|
|
_021F13EC:
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F13F0: .word 0x0000219C
|
|
_021F13F4: .word 0x000001EE
|
|
thumb_func_end MOD16_021F1304
|
|
|
|
thumb_func_start MOD16_021F13F8
|
|
MOD16_021F13F8: ; 0x021F13F8
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
ldr r2, [r4, r1]
|
|
mov r1, #3
|
|
tst r1, r2
|
|
beq _021F141C
|
|
mov r1, #2
|
|
str r1, [r4, r0]
|
|
_021F141C:
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0xc
|
|
tst r0, r1
|
|
beq _021F1430
|
|
mov r0, #0xd7
|
|
mov r1, #3
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021F1430:
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0x30
|
|
tst r0, r1
|
|
beq _021F1444
|
|
mov r0, #0xd7
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021F1444:
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0xc0
|
|
tst r0, r1
|
|
beq _021F1458
|
|
mov r0, #0xd7
|
|
mov r1, #4
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021F1458:
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
tst r0, r1
|
|
beq _021F146E
|
|
mov r0, #0xd7
|
|
mov r1, #5
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021F146E:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021F13F8
|
|
|
|
thumb_func_start MOD16_021F1470
|
|
MOD16_021F1470: ; 0x021F1470
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
ldr r0, _021F14A4 ; =0x00000356
|
|
ldrh r2, [r5, r0]
|
|
add r0, #0x88
|
|
lsl r2, r2, #4
|
|
add r2, r5, r2
|
|
ldrh r0, [r2, r0]
|
|
cmp r4, r0
|
|
bne _021F14A2
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F14A2:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F14A4: .word 0x00000356
|
|
thumb_func_end MOD16_021F1470
|
|
|
|
thumb_func_start MOD16_021F14A8
|
|
MOD16_021F14A8: ; 0x021F14A8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
ldr r0, _021F14DC ; =0x00000356
|
|
ldrh r2, [r5, r0]
|
|
add r0, #0x88
|
|
lsl r2, r2, #4
|
|
add r2, r5, r2
|
|
ldrh r0, [r2, r0]
|
|
cmp r4, r0
|
|
beq _021F14DA
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F14DA:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F14DC: .word 0x00000356
|
|
thumb_func_end MOD16_021F14A8
|
|
|
|
thumb_func_start MOD16_021F14E0
|
|
MOD16_021F14E0: ; 0x021F14E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
add r1, r0, r6
|
|
ldr r0, _021F1530 ; =0x00002D58
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, r7
|
|
bge _021F152E
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F152E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1530: .word 0x00002D58
|
|
thumb_func_end MOD16_021F14E0
|
|
|
|
thumb_func_start MOD16_021F1534
|
|
MOD16_021F1534: ; 0x021F1534
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
add r1, r0, r6
|
|
ldr r0, _021F1584 ; =0x00002D58
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, r7
|
|
ble _021F1582
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F1582:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1584: .word 0x00002D58
|
|
thumb_func_end MOD16_021F1534
|
|
|
|
thumb_func_start MOD16_021F1588
|
|
MOD16_021F1588: ; 0x021F1588
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
add r1, r0, r6
|
|
ldr r0, _021F15D8 ; =0x00002D58
|
|
ldrsb r0, [r1, r0]
|
|
cmp r7, r0
|
|
bne _021F15D6
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F15D6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F15D8: .word 0x00002D58
|
|
thumb_func_end MOD16_021F1588
|
|
|
|
thumb_func_start MOD16_021F15DC
|
|
MOD16_021F15DC: ; 0x021F15DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
add r1, r0, r6
|
|
ldr r0, _021F162C ; =0x00002D58
|
|
ldrsb r0, [r1, r0]
|
|
cmp r7, r0
|
|
beq _021F162A
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F162A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F162C: .word 0x00002D58
|
|
thumb_func_end MOD16_021F15DC
|
|
|
|
thumb_func_start MOD16_021F1630
|
|
MOD16_021F1630: ; 0x021F1630
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r6, r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x1c]
|
|
cmp r4, #1
|
|
bne _021F1662
|
|
ldr r0, _021F1738 ; =0x00000355
|
|
ldrb r1, [r6, r0]
|
|
add r0, #0x17
|
|
add r1, r6, r1
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #0x18]
|
|
b _021F1666
|
|
_021F1662:
|
|
mov r0, #0x64
|
|
str r0, [sp, #0x18]
|
|
_021F1666:
|
|
ldr r2, _021F173C ; =0x00000356
|
|
ldr r1, _021F1740 ; =0x021FF7F4
|
|
ldrh r3, [r6, r2]
|
|
add r2, #0x88
|
|
mov r0, #0
|
|
lsl r7, r3, #4
|
|
add r3, r6, r7
|
|
ldrh r3, [r3, r2]
|
|
ldr r2, _021F1744 ; =0x0000FFFF
|
|
_021F1678:
|
|
ldrh r4, [r1]
|
|
cmp r3, r4
|
|
beq _021F1688
|
|
add r1, r1, #2
|
|
ldrh r4, [r1]
|
|
add r0, r0, #1
|
|
cmp r4, r2
|
|
bne _021F1678
|
|
_021F1688:
|
|
ldr r2, _021F1748 ; =0x021FF7DC
|
|
ldr r4, _021F1744 ; =0x0000FFFF
|
|
mov r1, #0
|
|
_021F168E:
|
|
ldrh r5, [r2]
|
|
cmp r3, r5
|
|
beq _021F169E
|
|
add r2, r2, #2
|
|
ldrh r5, [r2]
|
|
add r1, r1, #1
|
|
cmp r5, r4
|
|
bne _021F168E
|
|
_021F169E:
|
|
lsl r2, r1, #1
|
|
ldr r1, _021F1748 ; =0x021FF7DC
|
|
ldrh r1, [r1, r2]
|
|
ldr r2, _021F1744 ; =0x0000FFFF
|
|
cmp r1, r2
|
|
bne _021F16BE
|
|
ldr r1, _021F174C ; =0x000003E1
|
|
add r3, r6, r7
|
|
ldrb r1, [r3, r1]
|
|
cmp r1, #1
|
|
bls _021F1734
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F1740 ; =0x021FF7F4
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, r2
|
|
bne _021F1734
|
|
_021F16BE:
|
|
ldr r7, _021F1750 ; =0x000003CF
|
|
mov r4, #0
|
|
add r5, sp, #0x20
|
|
_021F16C4:
|
|
ldrb r1, [r6, r7]
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r2, #0xa
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
strb r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021F16C4
|
|
ldr r0, _021F1750 ; =0x000003CF
|
|
ldrb r4, [r6, r0]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x20
|
|
str r1, [sp]
|
|
str r4, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
ldr r3, _021F1754 ; =0x00002DCC
|
|
add r4, r6, r0
|
|
ldr r0, [r4, r3]
|
|
ldr r2, _021F173C ; =0x00000356
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
sub r3, #0x14
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x10]
|
|
ldrh r2, [r6, r2]
|
|
ldrh r3, [r4, r3]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r6, #0
|
|
bl MOD16_021F2EE8
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r2, [r6, r1]
|
|
mov r1, #0xc0
|
|
mul r1, r2
|
|
add r2, r6, r1
|
|
ldr r1, _021F1758 ; =0x00002D8C
|
|
ldr r1, [r2, r1]
|
|
cmp r1, r0
|
|
bhi _021F1734
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F1734:
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1738: .word 0x00000355
|
|
_021F173C: .word 0x00000356
|
|
_021F1740: .word 0x021FF7F4
|
|
_021F1744: .word 0x0000FFFF
|
|
_021F1748: .word 0x021FF7DC
|
|
_021F174C: .word 0x000003E1
|
|
_021F1750: .word 0x000003CF
|
|
_021F1754: .word 0x00002DCC
|
|
_021F1758: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F1630
|
|
|
|
thumb_func_start MOD16_021F175C
|
|
MOD16_021F175C: ; 0x021F175C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r6, r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x1c]
|
|
cmp r4, #1
|
|
bne _021F178E
|
|
ldr r0, _021F1864 ; =0x00000355
|
|
ldrb r1, [r6, r0]
|
|
add r0, #0x17
|
|
add r1, r6, r1
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #0x18]
|
|
b _021F1792
|
|
_021F178E:
|
|
mov r0, #0x64
|
|
str r0, [sp, #0x18]
|
|
_021F1792:
|
|
ldr r2, _021F1868 ; =0x00000356
|
|
ldr r1, _021F186C ; =0x021FF7F4
|
|
ldrh r3, [r6, r2]
|
|
add r2, #0x88
|
|
mov r0, #0
|
|
lsl r7, r3, #4
|
|
add r3, r6, r7
|
|
ldrh r3, [r3, r2]
|
|
ldr r2, _021F1870 ; =0x0000FFFF
|
|
_021F17A4:
|
|
ldrh r4, [r1]
|
|
cmp r3, r4
|
|
beq _021F17B4
|
|
add r1, r1, #2
|
|
ldrh r4, [r1]
|
|
add r0, r0, #1
|
|
cmp r4, r2
|
|
bne _021F17A4
|
|
_021F17B4:
|
|
ldr r2, _021F1874 ; =0x021FF7DC
|
|
ldr r4, _021F1870 ; =0x0000FFFF
|
|
mov r1, #0
|
|
_021F17BA:
|
|
ldrh r5, [r2]
|
|
cmp r3, r5
|
|
beq _021F17CA
|
|
add r2, r2, #2
|
|
ldrh r5, [r2]
|
|
add r1, r1, #1
|
|
cmp r5, r4
|
|
bne _021F17BA
|
|
_021F17CA:
|
|
lsl r2, r1, #1
|
|
ldr r1, _021F1874 ; =0x021FF7DC
|
|
ldrh r1, [r1, r2]
|
|
ldr r2, _021F1870 ; =0x0000FFFF
|
|
cmp r1, r2
|
|
bne _021F17EA
|
|
ldr r1, _021F1878 ; =0x000003E1
|
|
add r3, r6, r7
|
|
ldrb r1, [r3, r1]
|
|
cmp r1, #1
|
|
bls _021F1860
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F186C ; =0x021FF7F4
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, r2
|
|
bne _021F1860
|
|
_021F17EA:
|
|
ldr r7, _021F187C ; =0x000003CF
|
|
mov r4, #0
|
|
add r5, sp, #0x20
|
|
_021F17F0:
|
|
ldrb r1, [r6, r7]
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r2, #0xa
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
strb r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021F17F0
|
|
ldr r0, _021F187C ; =0x000003CF
|
|
ldrb r4, [r6, r0]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x20
|
|
str r1, [sp]
|
|
str r4, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
ldr r3, _021F1880 ; =0x00002DCC
|
|
add r4, r6, r0
|
|
ldr r0, [r4, r3]
|
|
ldr r2, _021F1868 ; =0x00000356
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
sub r3, #0x14
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x10]
|
|
ldrh r2, [r6, r2]
|
|
ldrh r3, [r4, r3]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r6, #0
|
|
bl MOD16_021F2EE8
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r2, [r6, r1]
|
|
mov r1, #0xc0
|
|
mul r1, r2
|
|
add r2, r6, r1
|
|
ldr r1, _021F1884 ; =0x00002D8C
|
|
ldr r1, [r2, r1]
|
|
cmp r1, r0
|
|
bls _021F1860
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F1860:
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1864: .word 0x00000355
|
|
_021F1868: .word 0x00000356
|
|
_021F186C: .word 0x021FF7F4
|
|
_021F1870: .word 0x0000FFFF
|
|
_021F1874: .word 0x021FF7DC
|
|
_021F1878: .word 0x000003E1
|
|
_021F187C: .word 0x000003CF
|
|
_021F1880: .word 0x00002DCC
|
|
_021F1884: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F175C
|
|
|
|
thumb_func_start MOD16_021F1888
|
|
MOD16_021F1888: ; 0x021F1888
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
cmp r6, #0
|
|
beq _021F1918
|
|
cmp r6, #1
|
|
beq _021F18C4
|
|
cmp r6, #3
|
|
beq _021F18EA
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F18C4:
|
|
mov r2, #0xc0
|
|
mul r2, r0
|
|
ldr r0, _021F1940 ; =0x00002D4C
|
|
mov r1, #0
|
|
add r3, r5, r2
|
|
_021F18CE:
|
|
ldrh r2, [r3, r0]
|
|
cmp r4, r2
|
|
beq _021F18DC
|
|
add r1, r1, #1
|
|
add r3, r3, #2
|
|
cmp r1, #4
|
|
blt _021F18CE
|
|
_021F18DC:
|
|
cmp r1, #4
|
|
bge _021F193C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F18EA:
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
ldr r1, _021F1944 ; =0x00002D8C
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #0
|
|
beq _021F193C
|
|
ldr r1, _021F1940 ; =0x00002D4C
|
|
mov r3, #0
|
|
_021F18FC:
|
|
ldrh r2, [r0, r1]
|
|
cmp r4, r2
|
|
beq _021F190A
|
|
add r3, r3, #1
|
|
add r0, r0, #2
|
|
cmp r3, #4
|
|
blt _021F18FC
|
|
_021F190A:
|
|
cmp r3, #4
|
|
bge _021F193C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1918:
|
|
lsl r0, r0, #3
|
|
add r3, r5, r0
|
|
mov r0, #0x37
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
_021F1922:
|
|
ldrh r2, [r3, r0]
|
|
cmp r4, r2
|
|
beq _021F1930
|
|
add r1, r1, #1
|
|
add r3, r3, #2
|
|
cmp r1, #4
|
|
blt _021F1922
|
|
_021F1930:
|
|
cmp r1, #4
|
|
bge _021F193C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F193C:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1940: .word 0x00002D4C
|
|
_021F1944: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F1888
|
|
|
|
thumb_func_start MOD16_021F1948
|
|
MOD16_021F1948: ; 0x021F1948
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
cmp r6, #0
|
|
beq _021F19D8
|
|
cmp r6, #1
|
|
beq _021F1984
|
|
cmp r6, #3
|
|
beq _021F19AA
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1984:
|
|
mov r2, #0xc0
|
|
mul r2, r0
|
|
ldr r0, _021F1A00 ; =0x00002D4C
|
|
mov r1, #0
|
|
add r3, r5, r2
|
|
_021F198E:
|
|
ldrh r2, [r3, r0]
|
|
cmp r4, r2
|
|
beq _021F199C
|
|
add r1, r1, #1
|
|
add r3, r3, #2
|
|
cmp r1, #4
|
|
blt _021F198E
|
|
_021F199C:
|
|
cmp r1, #4
|
|
bne _021F19FC
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F19AA:
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
ldr r1, _021F1A04 ; =0x00002D8C
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #0
|
|
beq _021F19FC
|
|
ldr r1, _021F1A00 ; =0x00002D4C
|
|
mov r3, #0
|
|
_021F19BC:
|
|
ldrh r2, [r0, r1]
|
|
cmp r4, r2
|
|
beq _021F19CA
|
|
add r3, r3, #1
|
|
add r0, r0, #2
|
|
cmp r3, #4
|
|
blt _021F19BC
|
|
_021F19CA:
|
|
cmp r3, #4
|
|
bne _021F19FC
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F19D8:
|
|
lsl r0, r0, #3
|
|
add r3, r5, r0
|
|
mov r0, #0x37
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
_021F19E2:
|
|
ldrh r2, [r3, r0]
|
|
cmp r4, r2
|
|
beq _021F19F0
|
|
add r1, r1, #1
|
|
add r3, r3, #2
|
|
cmp r1, #4
|
|
blt _021F19E2
|
|
_021F19F0:
|
|
cmp r1, #4
|
|
bne _021F19FC
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F19FC:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1A00: .word 0x00002D4C
|
|
_021F1A04: .word 0x00002D8C
|
|
thumb_func_end MOD16_021F1948
|
|
|
|
thumb_func_start MOD16_021F1A08
|
|
MOD16_021F1A08: ; 0x021F1A08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
cmp r6, #0
|
|
beq _021F1A70
|
|
cmp r6, #1
|
|
bne _021F1AA0
|
|
mov r2, #0xc0
|
|
mul r2, r0
|
|
add r0, r5, r2
|
|
ldr r2, _021F1AA4 ; =0x000003DE
|
|
ldr r3, _021F1AA8 ; =0x00002D4C
|
|
mov r1, #0
|
|
_021F1A4A:
|
|
ldrh r6, [r0, r3]
|
|
cmp r6, #0
|
|
beq _021F1A5A
|
|
lsl r6, r6, #4
|
|
add r6, r5, r6
|
|
ldrh r6, [r6, r2]
|
|
cmp r4, r6
|
|
beq _021F1A62
|
|
_021F1A5A:
|
|
add r1, r1, #1
|
|
add r0, r0, #2
|
|
cmp r1, #4
|
|
blt _021F1A4A
|
|
_021F1A62:
|
|
cmp r1, #4
|
|
bge _021F1AA0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1A70:
|
|
ldr r2, _021F1AA4 ; =0x000003DE
|
|
lsl r0, r0, #3
|
|
add r3, r2, #0
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
sub r3, #0x6e
|
|
_021F1A7C:
|
|
ldrh r6, [r0, r3]
|
|
cmp r6, #0
|
|
beq _021F1A8C
|
|
lsl r6, r6, #4
|
|
add r6, r5, r6
|
|
ldrh r6, [r6, r2]
|
|
cmp r4, r6
|
|
beq _021F1A94
|
|
_021F1A8C:
|
|
add r1, r1, #1
|
|
add r0, r0, #2
|
|
cmp r1, #4
|
|
blt _021F1A7C
|
|
_021F1A94:
|
|
cmp r1, #4
|
|
bge _021F1AA0
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F1AA0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1AA4: .word 0x000003DE
|
|
_021F1AA8: .word 0x00002D4C
|
|
thumb_func_end MOD16_021F1A08
|
|
|
|
thumb_func_start MOD16_021F1AAC
|
|
MOD16_021F1AAC: ; 0x021F1AAC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
cmp r6, #0
|
|
beq _021F1B14
|
|
cmp r6, #1
|
|
bne _021F1B44
|
|
mov r2, #0xc0
|
|
mul r2, r0
|
|
add r0, r5, r2
|
|
ldr r2, _021F1B48 ; =0x000003DE
|
|
ldr r3, _021F1B4C ; =0x00002D4C
|
|
mov r1, #0
|
|
_021F1AEE:
|
|
ldrh r6, [r0, r3]
|
|
cmp r6, #0
|
|
beq _021F1AFE
|
|
lsl r6, r6, #4
|
|
add r6, r5, r6
|
|
ldrh r6, [r6, r2]
|
|
cmp r4, r6
|
|
beq _021F1B06
|
|
_021F1AFE:
|
|
add r1, r1, #1
|
|
add r0, r0, #2
|
|
cmp r1, #4
|
|
blt _021F1AEE
|
|
_021F1B06:
|
|
cmp r1, #4
|
|
bne _021F1B44
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1B14:
|
|
ldr r2, _021F1B48 ; =0x000003DE
|
|
lsl r0, r0, #3
|
|
add r3, r2, #0
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
sub r3, #0x6e
|
|
_021F1B20:
|
|
ldrh r6, [r0, r3]
|
|
cmp r6, #0
|
|
beq _021F1B30
|
|
lsl r6, r6, #4
|
|
add r6, r5, r6
|
|
ldrh r6, [r6, r2]
|
|
cmp r4, r6
|
|
beq _021F1B38
|
|
_021F1B30:
|
|
add r1, r1, #1
|
|
add r0, r0, #2
|
|
cmp r1, #4
|
|
blt _021F1B20
|
|
_021F1B38:
|
|
cmp r1, #4
|
|
bne _021F1B44
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F1B44:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1B48: .word 0x000003DE
|
|
_021F1B4C: .word 0x00002D4C
|
|
thumb_func_end MOD16_021F1AAC
|
|
|
|
thumb_func_start MOD16_021F1B50
|
|
MOD16_021F1B50: ; 0x021F1B50
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
cmp r4, #0
|
|
beq _021F1B88
|
|
cmp r4, #1
|
|
beq _021F1BA2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1B88:
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F1BBC ; =0x00002DC8
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
beq _021F1BBA
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1BA2:
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F1BBC ; =0x00002DC8
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1d
|
|
beq _021F1BBA
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F1BBA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1BBC: .word 0x00002DC8
|
|
thumb_func_end MOD16_021F1B50
|
|
|
|
thumb_func_start MOD16_021F1BC0
|
|
MOD16_021F1BC0: ; 0x021F1BC0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
cmp r5, #0
|
|
beq _021F1BE6
|
|
cmp r5, #1
|
|
beq _021F1C04
|
|
pop {r3, r4, r5, pc}
|
|
_021F1BE6:
|
|
ldr r2, _021F1C24 ; =0x00000356
|
|
ldrh r0, [r4, r2]
|
|
add r2, #0x79
|
|
ldrb r3, [r4, r2]
|
|
mov r2, #0xc0
|
|
mul r2, r3
|
|
add r3, r4, r2
|
|
ldr r2, _021F1C28 ; =0x00002DE8
|
|
ldrh r2, [r3, r2]
|
|
cmp r0, r2
|
|
bne _021F1C20
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, pc}
|
|
_021F1C04:
|
|
ldr r2, _021F1C24 ; =0x00000356
|
|
ldrh r0, [r4, r2]
|
|
add r2, #0x79
|
|
ldrb r3, [r4, r2]
|
|
mov r2, #0xc0
|
|
mul r2, r3
|
|
add r3, r4, r2
|
|
ldr r2, _021F1C2C ; =0x00002DEC
|
|
ldrh r2, [r3, r2]
|
|
cmp r0, r2
|
|
bne _021F1C20
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
_021F1C20:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F1C24: .word 0x00000356
|
|
_021F1C28: .word 0x00002DE8
|
|
_021F1C2C: .word 0x00002DEC
|
|
thumb_func_end MOD16_021F1BC0
|
|
|
|
thumb_func_start MOD16_021F1C30
|
|
MOD16_021F1C30: ; 0x021F1C30
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r1, #0xd9
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0xb
|
|
orr r0, r2
|
|
strb r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F1C30
|
|
|
|
thumb_func_start MOD16_021F1C4C
|
|
MOD16_021F1C4C: ; 0x021F1C4C
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F1C4C
|
|
|
|
thumb_func_start MOD16_021F1C50
|
|
MOD16_021F1C50: ; 0x021F1C50
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F1C50
|
|
|
|
thumb_func_start MOD16_021F1C54
|
|
MOD16_021F1C54: ; 0x021F1C54
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F1C84 ; =0x00002DB8
|
|
add r1, r4, r1
|
|
ldrh r1, [r1, r0]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F1C84: .word 0x00002DB8
|
|
thumb_func_end MOD16_021F1C54
|
|
|
|
thumb_func_start MOD16_021F1C88
|
|
MOD16_021F1C88: ; 0x021F1C88
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
ldr r1, _021F1CE4 ; =0x000003CF
|
|
add r2, r0, #0
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, r2
|
|
beq _021F1CC8
|
|
lsl r2, r2, #1
|
|
add r2, r4, r2
|
|
sub r1, #0x3b
|
|
ldrh r1, [r2, r1]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl MOD11_0224C12C
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
_021F1CC8:
|
|
mov r1, #0xc0
|
|
mul r1, r2
|
|
add r2, r4, r1
|
|
ldr r1, _021F1CE8 ; =0x00002DB8
|
|
add r0, r4, #0
|
|
ldrh r1, [r2, r1]
|
|
mov r2, #1
|
|
bl MOD11_0224C12C
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F1CE4: .word 0x000003CF
|
|
_021F1CE8: .word 0x00002DB8
|
|
thumb_func_end MOD16_021F1C88
|
|
|
|
thumb_func_start MOD16_021F1CEC
|
|
MOD16_021F1CEC: ; 0x021F1CEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r6, r0, #0
|
|
ldr r0, _021F1D4C ; =0x000003CF
|
|
mov r1, #1
|
|
add r3, r6, #0
|
|
ldrb r2, [r5, r0]
|
|
and r3, r1
|
|
and r1, r2
|
|
cmp r3, r1
|
|
bne _021F1D36
|
|
mov r0, #0xc0
|
|
mul r0, r6
|
|
add r1, r5, r0
|
|
ldr r0, _021F1D50 ; =0x00002DB8
|
|
b _021F1D3C
|
|
_021F1D36:
|
|
lsl r1, r6, #1
|
|
add r1, r5, r1
|
|
sub r0, #0x3b
|
|
_021F1D3C:
|
|
ldrh r0, [r1, r0]
|
|
cmp r0, r4
|
|
bne _021F1D4A
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F1D4A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1D4C: .word 0x000003CF
|
|
_021F1D50: .word 0x00002DB8
|
|
thumb_func_end MOD16_021F1CEC
|
|
|
|
thumb_func_start MOD16_021F1D54
|
|
MOD16_021F1D54: ; 0x021F1D54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
tst r0, r4
|
|
beq _021F1D80
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F1D80:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F1D54
|
|
|
|
thumb_func_start MOD16_021F1D84
|
|
MOD16_021F1D84: ; 0x021F1D84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl MOD11_02230270
|
|
cmp r4, #4
|
|
beq _021F1DC2
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
cmp r4, r1
|
|
beq _021F1DD8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1DC2:
|
|
lsl r0, r0, #3
|
|
add r1, r5, r0
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r1, r0, #0x1e
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1DD8:
|
|
lsl r0, r0, #3
|
|
add r2, r5, r0
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r2, r0]
|
|
sub r1, #0xa4
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1e
|
|
str r0, [r5, r1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F1D84
|
|
|
|
thumb_func_start MOD16_021F1DEC
|
|
MOD16_021F1DEC: ; 0x021F1DEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
ldr r0, [sp]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #8]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r4, #0
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
ble _021F1E74
|
|
ldr r0, [sp]
|
|
add r0, r0, r6
|
|
str r0, [sp, #4]
|
|
_021F1E2C:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl MOD11_02230014
|
|
ldr r2, [sp, #4]
|
|
ldr r1, _021F1E78 ; =0x0000219C
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r2, r1]
|
|
cmp r4, r1
|
|
beq _021F1E66
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xa3
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r7, r0
|
|
beq _021F1E66
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
bl MOD16_021F2D88
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1E66:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r4, r4, #1
|
|
bl MOD11_0222FFC8
|
|
cmp r4, r0
|
|
blt _021F1E2C
|
|
_021F1E74:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F1E78: .word 0x0000219C
|
|
thumb_func_end MOD16_021F1DEC
|
|
|
|
thumb_func_start MOD16_021F1E7C
|
|
MOD16_021F1E7C: ; 0x021F1E7C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, [sp, #4]
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #4]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x10]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp, #4]
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
mov r7, #0
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
ble _021F1F16
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
_021F1EBE:
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
add r2, r7, #0
|
|
bl MOD11_02230014
|
|
add r5, r0, #0
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, _021F1F1C ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
cmp r7, r0
|
|
beq _021F1F08
|
|
mov r4, #0
|
|
_021F1ED6:
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x3a
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r1, r4, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, #0x42
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r6, r0
|
|
beq _021F1EFE
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0x10]
|
|
bl MOD16_021F2D88
|
|
b _021F1F04
|
|
_021F1EFE:
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021F1ED6
|
|
_021F1F04:
|
|
cmp r4, #4
|
|
bne _021F1F16
|
|
_021F1F08:
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
add r7, r7, #1
|
|
bl MOD11_0222FFC8
|
|
cmp r7, r0
|
|
blt _021F1EBE
|
|
_021F1F16:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1F1C: .word 0x0000219C
|
|
thumb_func_end MOD16_021F1E7C
|
|
|
|
thumb_func_start MOD16_021F1F20
|
|
MOD16_021F1F20: ; 0x021F1F20
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD11_02249E58
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F1F20
|
|
|
|
thumb_func_start MOD16_021F1F50
|
|
MOD16_021F1F50: ; 0x021F1F50
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r1, _021F1F78 ; =0x000003CF
|
|
mov r0, #0xc0
|
|
ldrb r2, [r4, r1]
|
|
mul r0, r2
|
|
add r2, r4, r0
|
|
add r0, r1, #0
|
|
sub r0, #0x7a
|
|
ldrb r0, [r4, r0]
|
|
sub r1, #0x73
|
|
add r2, r2, r0
|
|
ldr r0, _021F1F7C ; =0x00002D6C
|
|
ldrb r0, [r2, r0]
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F1F78: .word 0x000003CF
|
|
_021F1F7C: .word 0x00002D6C
|
|
thumb_func_end MOD16_021F1F50
|
|
|
|
thumb_func_start MOD16_021F1F80
|
|
MOD16_021F1F80: ; 0x021F1F80
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r5, #0x18
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
bl MOD11_022473F8
|
|
mov r1, #0xc0
|
|
mul r1, r5
|
|
add r2, r4, r1
|
|
ldr r1, _021F1FD8 ; =0x00002DCC
|
|
ldr r1, [r2, r1]
|
|
lsl r1, r1, #0x13
|
|
lsr r2, r1, #0x1d
|
|
sub r1, r0, #1
|
|
cmp r2, r1
|
|
blo _021F1FD4
|
|
cmp r0, #1
|
|
ble _021F1FD4
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F1FD4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1FD8: .word 0x00002DCC
|
|
thumb_func_end MOD16_021F1F80
|
|
|
|
thumb_func_start MOD16_021F1FDC
|
|
MOD16_021F1FDC: ; 0x021F1FDC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, _021F1FFC ; =0x00000356
|
|
ldrh r1, [r4, r0]
|
|
lsl r1, r1, #4
|
|
add r2, r4, r1
|
|
add r1, r0, #0
|
|
add r1, #0x8a
|
|
ldrb r1, [r2, r1]
|
|
add r0, r0, #6
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F1FFC: .word 0x00000356
|
|
thumb_func_end MOD16_021F1FDC
|
|
|
|
thumb_func_start MOD16_021F2000
|
|
MOD16_021F2000: ; 0x021F2000
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r0, [r4, r1]
|
|
lsl r0, r0, #1
|
|
add r2, r4, r0
|
|
ldr r0, _021F202C ; =0x0000307C
|
|
ldrh r0, [r2, r0]
|
|
lsl r0, r0, #4
|
|
add r2, r4, r0
|
|
add r0, r1, #0
|
|
add r0, #0x10
|
|
ldrb r0, [r2, r0]
|
|
sub r1, #0x74
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F202C: .word 0x0000307C
|
|
thumb_func_end MOD16_021F2000
|
|
|
|
thumb_func_start MOD16_021F2030
|
|
MOD16_021F2030: ; 0x021F2030
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, [sp, #8]
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [sp, #8]
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #4]
|
|
bl MOD11_0222FF84
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
ble _021F206E
|
|
add r2, sp, #0x24
|
|
_021F2064:
|
|
ldr r0, [sp, #0x14]
|
|
stmia r2!, {r1}
|
|
add r1, r1, #1
|
|
cmp r1, r0
|
|
blt _021F2064
|
|
_021F206E:
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x14]
|
|
sub r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
ble _021F20C8
|
|
add r6, sp, #0x24
|
|
str r6, [sp, #0x20]
|
|
_021F2080:
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r0, #1
|
|
ldr r0, [sp, #0x14]
|
|
cmp r7, r0
|
|
bge _021F20BA
|
|
ldr r0, [sp, #0x20]
|
|
lsl r1, r7, #2
|
|
add r5, r0, r1
|
|
_021F2090:
|
|
ldr r0, [r6]
|
|
ldr r4, [r5]
|
|
str r0, [sp, #0x18]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0x18]
|
|
add r3, r4, #0
|
|
bl MOD11_02244248
|
|
cmp r0, #0
|
|
beq _021F20B0
|
|
ldr r0, [sp, #0x18]
|
|
str r4, [r6]
|
|
str r0, [r5]
|
|
_021F20B0:
|
|
ldr r0, [sp, #0x14]
|
|
add r7, r7, #1
|
|
add r5, r5, #4
|
|
cmp r7, r0
|
|
blt _021F2090
|
|
_021F20BA:
|
|
ldr r0, [sp, #0xc]
|
|
add r6, r6, #4
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x1c]
|
|
str r1, [sp, #0xc]
|
|
cmp r1, r0
|
|
blt _021F2080
|
|
_021F20C8:
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, #0
|
|
cmp r1, #0
|
|
ble _021F20F0
|
|
add r3, sp, #0x24
|
|
_021F20D2:
|
|
ldr r2, [r3]
|
|
ldr r1, [sp, #0x10]
|
|
cmp r1, r2
|
|
bne _021F20E6
|
|
mov r2, #0xd7
|
|
ldr r1, [sp, #8]
|
|
lsl r2, r2, #2
|
|
str r0, [r1, r2]
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F20E6:
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r0, #1
|
|
add r3, r3, #4
|
|
cmp r0, r1
|
|
blt _021F20D2
|
|
_021F20F0:
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD16_021F2030
|
|
|
|
thumb_func_start MOD16_021F20F4
|
|
MOD16_021F20F4: ; 0x021F20F4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, r1]
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F212C ; =0x00002DD4
|
|
add r1, r4, r1
|
|
ldr r0, [r1, r0]
|
|
sub r1, r2, r0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F212C: .word 0x00002DD4
|
|
thumb_func_end MOD16_021F20F4
|
|
|
|
thumb_func_start MOD16_021F2130
|
|
MOD16_021F2130: ; 0x021F2130
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x54
|
|
str r0, [sp, #0x18]
|
|
str r1, [sp, #0x1c]
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
ldr r0, [sp, #0x1c]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x1c]
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x2c]
|
|
mov r4, #0
|
|
ldr r1, _021F22B4 ; =0x000003CF
|
|
ldr r0, [sp, #0x1c]
|
|
add r5, sp, #0x34
|
|
ldrb r0, [r0, r1]
|
|
add r6, r4, #0
|
|
str r0, [sp, #0x28]
|
|
_021F215E:
|
|
add r2, r4, #0
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x28]
|
|
add r2, #0xa
|
|
add r3, r6, #0
|
|
bl MOD11_02243420
|
|
strb r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021F215E
|
|
ldr r0, [sp, #0x28]
|
|
mov r1, #0xc0
|
|
add r4, r0, #0
|
|
mul r4, r1
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x28]
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x44
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r3, _021F22B8 ; =0x00002DB8
|
|
add r2, r1, r4
|
|
ldrh r1, [r2, r3]
|
|
ldr r5, _021F22B4 ; =0x000003CF
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0x34
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, r3, #0
|
|
add r0, #0x14
|
|
ldr r0, [r2, r0]
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x30]
|
|
add r2, r1, #0
|
|
str r0, [sp, #0x14]
|
|
ldrb r2, [r2, r5]
|
|
sub r3, #0x6c
|
|
add r5, r1, #0
|
|
add r3, r5, r3
|
|
ldr r0, [sp, #0x18]
|
|
add r3, r3, r4
|
|
bl MOD16_021F2DE0
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x28]
|
|
mov r7, #0
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
ble _021F22AE
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x20]
|
|
_021F21D8:
|
|
ldr r1, _021F22BC ; =0x0000219C
|
|
ldr r0, [sp, #0x20]
|
|
ldrb r0, [r0, r1]
|
|
cmp r7, r0
|
|
beq _021F22A0
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x28]
|
|
add r2, r7, #0
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r6, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F22A0
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F22A0
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F22C0 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F22A0
|
|
add r5, sp, #0x38
|
|
mov r4, #0
|
|
add r5, #2
|
|
_021F221E:
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
strh r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #2
|
|
cmp r4, #4
|
|
blt _021F221E
|
|
mov r5, #0
|
|
add r4, sp, #0x34
|
|
_021F2238:
|
|
add r1, r5, #0
|
|
add r0, r6, #0
|
|
add r1, #0x46
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
strb r0, [r4]
|
|
add r5, r5, #1
|
|
add r4, r4, #1
|
|
cmp r5, #6
|
|
blt _021F2238
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r1, sp, #0x44
|
|
str r1, [sp]
|
|
lsl r1, r4, #0x10
|
|
lsr r1, r1, #0x10
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0x34
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [sp, #0x1c]
|
|
str r0, [sp, #0x14]
|
|
ldr r3, _021F22B4 ; =0x000003CF
|
|
add r2, r1, #0
|
|
ldrb r2, [r2, r3]
|
|
add r3, sp, #0x38
|
|
ldr r0, [sp, #0x18]
|
|
add r3, #2
|
|
bl MOD16_021F2DE0
|
|
ldr r1, [sp, #0x24]
|
|
cmp r0, r1
|
|
ble _021F22A0
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x2c]
|
|
bl MOD16_021F2D88
|
|
add sp, #0x54
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F22A0:
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x28]
|
|
add r7, r7, #1
|
|
bl MOD11_0222FFC8
|
|
cmp r7, r0
|
|
blt _021F21D8
|
|
_021F22AE:
|
|
add sp, #0x54
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F22B4: .word 0x000003CF
|
|
_021F22B8: .word 0x00002DB8
|
|
_021F22BC: .word 0x0000219C
|
|
_021F22C0: .word 0x000001EE
|
|
thumb_func_end MOD16_021F2130
|
|
|
|
thumb_func_start MOD16_021F22C4
|
|
MOD16_021F22C4: ; 0x021F22C4
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
ldr r2, _021F22F8 ; =0x000003CF
|
|
add r6, r0, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r3, #1
|
|
bl MOD16_021F3D3C
|
|
cmp r0, #1
|
|
bne _021F22F4
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F22F4:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021F22F8: .word 0x000003CF
|
|
thumb_func_end MOD16_021F22C4
|
|
|
|
thumb_func_start MOD16_021F22FC
|
|
MOD16_021F22FC: ; 0x021F22FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
add r6, r1, #0
|
|
str r0, [sp, #0x18]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x28]
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
str r0, [sp, #0x24]
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
ldr r7, _021F2400 ; =0x000003CF
|
|
str r0, [sp, #0x20]
|
|
mov r4, #0
|
|
add r5, sp, #0x2c
|
|
_021F232A:
|
|
ldrb r1, [r6, r7]
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r2, #0xa
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
strb r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021F232A
|
|
ldr r0, _021F2400 ; =0x000003CF
|
|
ldrb r4, [r6, r0]
|
|
mov r0, #0xc0
|
|
add r5, r4, #0
|
|
mul r5, r0
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x34
|
|
str r1, [sp]
|
|
ldr r3, _021F2404 ; =0x00002DB8
|
|
add r1, r6, r5
|
|
ldrh r1, [r1, r3]
|
|
add r2, r4, #0
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0x2c
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
add r1, r6, r0
|
|
add r0, r3, #0
|
|
add r0, #0x14
|
|
ldr r0, [r1, r0]
|
|
sub r3, #0x6c
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x24]
|
|
add r3, r6, r3
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r6, #0
|
|
add r3, r3, r5
|
|
bl MOD16_021F2DE0
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp, #0x1c]
|
|
lsl r1, r1, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, #1
|
|
bne _021F23AE
|
|
ldr r0, _021F2408 ; =0x00000355
|
|
ldrb r1, [r6, r0]
|
|
add r0, #0x17
|
|
add r1, r6, r1
|
|
ldrb r5, [r1, r0]
|
|
b _021F23B0
|
|
_021F23AE:
|
|
mov r5, #0x64
|
|
_021F23B0:
|
|
mov r0, #0xc0
|
|
add r7, r4, #0
|
|
mul r7, r0
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x2c
|
|
str r1, [sp]
|
|
str r4, [sp, #4]
|
|
lsl r2, r4, #1
|
|
add r4, r6, r2
|
|
ldr r3, _021F240C ; =0x00002DCC
|
|
add r7, r6, r7
|
|
str r0, [sp, #8]
|
|
ldr r0, [r7, r3]
|
|
ldr r2, _021F2410 ; =0x0000307C
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r5, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x10]
|
|
sub r3, #0x14
|
|
ldrh r2, [r4, r2]
|
|
ldrh r3, [r7, r3]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r6, #0
|
|
bl MOD16_021F2EE8
|
|
ldr r1, [sp, #0x1c]
|
|
cmp r0, r1
|
|
ble _021F23FA
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F23FA:
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F2400: .word 0x000003CF
|
|
_021F2404: .word 0x00002DB8
|
|
_021F2408: .word 0x00000355
|
|
_021F240C: .word 0x00002DCC
|
|
_021F2410: .word 0x0000307C
|
|
thumb_func_end MOD16_021F22FC
|
|
|
|
thumb_func_start MOD16_021F2414
|
|
MOD16_021F2414: ; 0x021F2414
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r2, #0xd7
|
|
mov r3, #0xd7
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
str r1, [r4, r2]
|
|
mov r2, #0xc0
|
|
mul r2, r0
|
|
add r0, r4, r2
|
|
ldr r2, _021F2460 ; =0x00002D58
|
|
lsl r3, r3, #2
|
|
_021F2446:
|
|
ldrsb r5, [r0, r2]
|
|
cmp r5, #6
|
|
ble _021F2454
|
|
ldr r6, [r4, r3]
|
|
sub r5, r5, #6
|
|
add r5, r6, r5
|
|
str r5, [r4, r3]
|
|
_021F2454:
|
|
add r1, r1, #1
|
|
add r0, r0, #1
|
|
cmp r1, #8
|
|
blt _021F2446
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021F2460: .word 0x00002D58
|
|
thumb_func_end MOD16_021F2414
|
|
|
|
thumb_func_start MOD16_021F2464
|
|
MOD16_021F2464: ; 0x021F2464
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r6, #0x18
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
ldr r3, _021F24AC ; =0x000003CF
|
|
mov r1, #0xc0
|
|
ldrb r6, [r5, r3]
|
|
add r2, r0, #0
|
|
mul r2, r1
|
|
add r0, r5, r2
|
|
mul r1, r6
|
|
add r1, r5, r1
|
|
ldr r2, _021F24B0 ; =0x00002D58
|
|
add r0, r0, r4
|
|
add r1, r1, r4
|
|
ldrsb r0, [r0, r2]
|
|
ldrsb r1, [r1, r2]
|
|
sub r3, #0x73
|
|
sub r0, r0, r1
|
|
str r0, [r5, r3]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F24AC: .word 0x000003CF
|
|
_021F24B0: .word 0x00002D58
|
|
thumb_func_end MOD16_021F2464
|
|
|
|
thumb_func_start MOD16_021F24B4
|
|
MOD16_021F24B4: ; 0x021F24B4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
str r6, [sp]
|
|
add r0, r5, #0
|
|
add r2, sp, #8
|
|
add r3, sp, #4
|
|
bl MOD16_021F25B0
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
bge _021F2502
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F2502:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F24B4
|
|
|
|
thumb_func_start MOD16_021F2508
|
|
MOD16_021F2508: ; 0x021F2508
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
str r6, [sp]
|
|
add r0, r5, #0
|
|
add r2, sp, #8
|
|
add r3, sp, #4
|
|
bl MOD16_021F25B0
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
ble _021F2556
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F2556:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F2508
|
|
|
|
thumb_func_start MOD16_021F255C
|
|
MOD16_021F255C: ; 0x021F255C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
str r6, [sp]
|
|
add r0, r5, #0
|
|
add r2, sp, #8
|
|
add r3, sp, #4
|
|
bl MOD16_021F25B0
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
bne _021F25AA
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD16_021F2D88
|
|
_021F25AA:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F255C
|
|
|
|
thumb_func_start MOD16_021F25B0
|
|
MOD16_021F25B0: ; 0x021F25B0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r1, r3, #0
|
|
ldr r3, [sp, #0x10]
|
|
cmp r3, #5
|
|
bhi _021F2688
|
|
add r3, r3, r3
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_021F25C8: ; jump table
|
|
.short _021F25D4 - _021F25C8 - 2 ; case 0
|
|
.short _021F25F2 - _021F25C8 - 2 ; case 1
|
|
.short _021F2610 - _021F25C8 - 2 ; case 2
|
|
.short _021F266A - _021F25C8 - 2 ; case 3
|
|
.short _021F262E - _021F25C8 - 2 ; case 4
|
|
.short _021F264C - _021F25C8 - 2 ; case 5
|
|
_021F25D4:
|
|
ldr r3, _021F2690 ; =0x000003CF
|
|
ldrb r5, [r0, r3]
|
|
mov r3, #0xc0
|
|
add r6, r5, #0
|
|
mul r6, r3
|
|
ldr r5, _021F2694 ; =0x00002D8C
|
|
add r6, r0, r6
|
|
ldr r6, [r6, r5]
|
|
str r6, [r2]
|
|
add r2, r4, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldr r0, [r0, r5]
|
|
str r0, [r1]
|
|
pop {r4, r5, r6, pc}
|
|
_021F25F2:
|
|
ldr r3, _021F2690 ; =0x000003CF
|
|
ldrb r5, [r0, r3]
|
|
mov r3, #0xc0
|
|
add r6, r5, #0
|
|
mul r6, r3
|
|
ldr r5, _021F2698 ; =0x00002D42
|
|
add r6, r0, r6
|
|
ldrh r6, [r6, r5]
|
|
str r6, [r2]
|
|
add r2, r4, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldrh r0, [r0, r5]
|
|
str r0, [r1]
|
|
pop {r4, r5, r6, pc}
|
|
_021F2610:
|
|
ldr r3, _021F2690 ; =0x000003CF
|
|
ldrb r5, [r0, r3]
|
|
mov r3, #0xc0
|
|
add r6, r5, #0
|
|
mul r6, r3
|
|
ldr r5, _021F269C ; =0x00002D44
|
|
add r6, r0, r6
|
|
ldrh r6, [r6, r5]
|
|
str r6, [r2]
|
|
add r2, r4, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldrh r0, [r0, r5]
|
|
str r0, [r1]
|
|
pop {r4, r5, r6, pc}
|
|
_021F262E:
|
|
ldr r3, _021F2690 ; =0x000003CF
|
|
ldrb r5, [r0, r3]
|
|
mov r3, #0xc0
|
|
add r6, r5, #0
|
|
mul r6, r3
|
|
ldr r5, _021F26A0 ; =0x00002D48
|
|
add r6, r0, r6
|
|
ldrh r6, [r6, r5]
|
|
str r6, [r2]
|
|
add r2, r4, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldrh r0, [r0, r5]
|
|
str r0, [r1]
|
|
pop {r4, r5, r6, pc}
|
|
_021F264C:
|
|
ldr r3, _021F2690 ; =0x000003CF
|
|
ldrb r5, [r0, r3]
|
|
mov r3, #0xc0
|
|
add r6, r5, #0
|
|
mul r6, r3
|
|
ldr r5, _021F26A4 ; =0x00002D4A
|
|
add r6, r0, r6
|
|
ldrh r6, [r6, r5]
|
|
str r6, [r2]
|
|
add r2, r4, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldrh r0, [r0, r5]
|
|
str r0, [r1]
|
|
pop {r4, r5, r6, pc}
|
|
_021F266A:
|
|
ldr r3, _021F2690 ; =0x000003CF
|
|
ldrb r5, [r0, r3]
|
|
mov r3, #0xc0
|
|
add r6, r5, #0
|
|
mul r6, r3
|
|
ldr r5, _021F26A8 ; =0x00002D46
|
|
add r6, r0, r6
|
|
ldrh r6, [r6, r5]
|
|
str r6, [r2]
|
|
add r2, r4, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldrh r0, [r0, r5]
|
|
str r0, [r1]
|
|
pop {r4, r5, r6, pc}
|
|
_021F2688:
|
|
bl ErrorHandling
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021F2690: .word 0x000003CF
|
|
_021F2694: .word 0x00002D8C
|
|
_021F2698: .word 0x00002D42
|
|
_021F269C: .word 0x00002D44
|
|
_021F26A0: .word 0x00002D48
|
|
_021F26A4: .word 0x00002D4A
|
|
_021F26A8: .word 0x00002D46
|
|
thumb_func_end MOD16_021F25B0
|
|
|
|
thumb_func_start MOD16_021F26AC
|
|
MOD16_021F26AC: ; 0x021F26AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
add r6, r1, #0
|
|
str r0, [sp, #0x18]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r6, #0
|
|
bl MOD16_021F2D54
|
|
ldr r2, _021F27E8 ; =0x00000356
|
|
str r0, [sp, #0x20]
|
|
ldrh r3, [r6, r2]
|
|
add r2, #0x88
|
|
ldr r1, _021F27EC ; =0x021FF7F4
|
|
lsl r7, r3, #4
|
|
add r3, r6, r7
|
|
ldrh r3, [r3, r2]
|
|
ldr r2, _021F27F0 ; =0x0000FFFF
|
|
mov r0, #0
|
|
_021F26D6:
|
|
ldrh r4, [r1]
|
|
cmp r3, r4
|
|
beq _021F26E6
|
|
add r1, r1, #2
|
|
ldrh r4, [r1]
|
|
add r0, r0, #1
|
|
cmp r4, r2
|
|
bne _021F26D6
|
|
_021F26E6:
|
|
ldr r2, _021F27F4 ; =0x021FF7DC
|
|
ldr r4, _021F27F0 ; =0x0000FFFF
|
|
mov r1, #0
|
|
_021F26EC:
|
|
ldrh r5, [r2]
|
|
cmp r3, r5
|
|
beq _021F26FC
|
|
add r2, r2, #2
|
|
ldrh r5, [r2]
|
|
add r1, r1, #1
|
|
cmp r5, r4
|
|
bne _021F26EC
|
|
_021F26FC:
|
|
lsl r2, r1, #1
|
|
ldr r1, _021F27F4 ; =0x021FF7DC
|
|
ldrh r1, [r1, r2]
|
|
ldr r2, _021F27F0 ; =0x0000FFFF
|
|
cmp r1, r2
|
|
bne _021F271C
|
|
ldr r1, _021F27F8 ; =0x000003E1
|
|
add r3, r6, r7
|
|
ldrb r1, [r3, r1]
|
|
cmp r1, #1
|
|
bls _021F27DA
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F27EC ; =0x021FF7F4
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, r2
|
|
bne _021F27DA
|
|
_021F271C:
|
|
ldr r0, _021F27FC ; =0x000003CF
|
|
ldrb r7, [r6, r0]
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
_021F2724:
|
|
mov r4, #0
|
|
add r5, sp, #0x28
|
|
_021F2728:
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
add r2, #0xa
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
strb r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021F2728
|
|
mov r0, #0xc0
|
|
add r4, r7, #0
|
|
mul r4, r0
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD11_02246D1C
|
|
add r1, sp, #0x30
|
|
str r1, [sp]
|
|
ldr r3, _021F2800 ; =0x00002DB8
|
|
add r1, r6, r4
|
|
ldrh r2, [r1, r3]
|
|
str r2, [sp, #4]
|
|
add r2, sp, #0x28
|
|
str r2, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, r3, #0
|
|
add r0, #0x14
|
|
ldr r0, [r1, r0]
|
|
sub r3, #0x6c
|
|
lsl r0, r0, #0xa
|
|
lsr r0, r0, #0x1d
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x20]
|
|
add r3, r6, r3
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
add r3, r3, r4
|
|
bl MOD16_021F2DE0
|
|
ldr r1, _021F27FC ; =0x000003CF
|
|
ldr r0, [sp, #0x18]
|
|
ldrb r1, [r6, r1]
|
|
bl MOD11_022302BC
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
bne _021F279E
|
|
ldr r0, _021F2804 ; =0x00000355
|
|
ldrb r0, [r6, r0]
|
|
lsl r1, r0, #2
|
|
add r0, sp, #0x30
|
|
ldr r0, [r0, r1]
|
|
str r0, [sp, #0x24]
|
|
_021F279E:
|
|
mov r3, #0
|
|
add r2, sp, #0x30
|
|
_021F27A2:
|
|
ldr r1, [r2]
|
|
ldr r0, [sp, #0x24]
|
|
cmp r1, r0
|
|
bgt _021F27B2
|
|
add r3, r3, #1
|
|
add r2, r2, #4
|
|
cmp r3, #4
|
|
blt _021F27A2
|
|
_021F27B2:
|
|
cmp r3, #4
|
|
bne _021F27C0
|
|
mov r0, #0xd7
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
str r1, [r6, r0]
|
|
b _021F27CC
|
|
_021F27C0:
|
|
mov r0, #0xd7
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
add sp, #0x40
|
|
str r1, [r6, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F27CC:
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
cmp r0, #2
|
|
blt _021F2724
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F27DA:
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r6, r0]
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F27E8: .word 0x00000356
|
|
_021F27EC: .word 0x021FF7F4
|
|
_021F27F0: .word 0x0000FFFF
|
|
_021F27F4: .word 0x021FF7DC
|
|
_021F27F8: .word 0x000003E1
|
|
_021F27FC: .word 0x000003CF
|
|
_021F2800: .word 0x00002DB8
|
|
_021F2804: .word 0x00000355
|
|
thumb_func_end MOD16_021F26AC
|
|
|
|
thumb_func_start MOD16_021F2808
|
|
MOD16_021F2808: ; 0x021F2808
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
cmp r4, #1
|
|
bne _021F282C
|
|
bl ErrorHandling
|
|
_021F282C:
|
|
cmp r4, #0
|
|
bne _021F2834
|
|
bl ErrorHandling
|
|
_021F2834:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F2854 ; =0x00003108
|
|
ldrb r1, [r5, r1]
|
|
tst r0, r1
|
|
beq _021F2852
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F2852:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F2854: .word 0x00003108
|
|
thumb_func_end MOD16_021F2808
|
|
|
|
thumb_func_start MOD16_021F2858
|
|
MOD16_021F2858: ; 0x021F2858
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r6, r0, #0
|
|
cmp r4, #1
|
|
bne _021F287C
|
|
bl ErrorHandling
|
|
_021F287C:
|
|
cmp r4, #0
|
|
bne _021F2884
|
|
bl ErrorHandling
|
|
_021F2884:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F28A4 ; =0x00003108
|
|
ldrb r1, [r5, r1]
|
|
tst r0, r1
|
|
bne _021F28A2
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F28A2:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F28A4: .word 0x00003108
|
|
thumb_func_end MOD16_021F2858
|
|
|
|
thumb_func_start MOD16_021F28A8
|
|
MOD16_021F28A8: ; 0x021F28A8
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F28DC ; =0x00002DBE
|
|
add r1, r4, r1
|
|
ldrb r0, [r1, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r1, r0, #0x1c
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F28DC: .word 0x00002DBE
|
|
thumb_func_end MOD16_021F28A8
|
|
|
|
thumb_func_start MOD16_021F28E0
|
|
MOD16_021F28E0: ; 0x021F28E0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r2, r0, #0
|
|
mov r1, #0xc0
|
|
mul r2, r1
|
|
ldr r0, _021F2928 ; =0x00002DD4
|
|
add r2, r4, r2
|
|
add r1, #0x90
|
|
ldr r2, [r2, r0]
|
|
ldr r0, [r4, r1]
|
|
cmp r2, r0
|
|
bge _021F291C
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_021F291C:
|
|
mov r1, #1
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F2928: .word 0x00002DD4
|
|
thumb_func_end MOD16_021F28E0
|
|
|
|
thumb_func_start MOD16_021F292C
|
|
MOD16_021F292C: ; 0x021F292C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F2960 ; =0x00002DC8
|
|
add r1, r4, r1
|
|
ldr r0, [r1, r0]
|
|
lsl r0, r0, #8
|
|
lsr r1, r0, #0x1d
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021F2960: .word 0x00002DC8
|
|
thumb_func_end MOD16_021F292C
|
|
|
|
thumb_func_start MOD16_021F2964
|
|
MOD16_021F2964: ; 0x021F2964
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r0, #0xd7
|
|
ldr r1, [r5, #0x2c]
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021F2964
|
|
|
|
thumb_func_start MOD16_021F297C
|
|
MOD16_021F297C: ; 0x021F297C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
lsl r0, r0, #1
|
|
add r1, r4, r0
|
|
ldr r0, _021F29AC ; =0x00003124
|
|
ldrh r1, [r1, r0]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F29AC: .word 0x00003124
|
|
thumb_func_end MOD16_021F297C
|
|
|
|
thumb_func_start MOD16_021F29B0
|
|
MOD16_021F29B0: ; 0x021F29B0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
lsl r0, r0, #4
|
|
add r2, r4, r0
|
|
add r0, r1, #0
|
|
add r0, #0x86
|
|
ldrb r0, [r2, r0]
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021F29B0
|
|
|
|
thumb_func_start MOD16_021F29D0
|
|
MOD16_021F29D0: ; 0x021F29D0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
lsl r0, r0, #4
|
|
add r2, r4, r0
|
|
add r0, r1, #0
|
|
add r0, #0x85
|
|
ldrb r0, [r2, r0]
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021F29D0
|
|
|
|
thumb_func_start MOD16_021F29F0
|
|
MOD16_021F29F0: ; 0x021F29F0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
lsl r0, r0, #4
|
|
add r2, r4, r0
|
|
add r0, r1, #0
|
|
add r0, #0x82
|
|
ldrh r0, [r2, r0]
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021F29F0
|
|
|
|
thumb_func_start MOD16_021F2A10
|
|
MOD16_021F2A10: ; 0x021F2A10
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
lsl r1, r0, #1
|
|
add r2, r4, r1
|
|
ldr r1, _021F2A64 ; =0x0000305C
|
|
ldrh r1, [r2, r1]
|
|
cmp r1, #0xb6
|
|
beq _021F2A4C
|
|
cmp r1, #0xc5
|
|
beq _021F2A4C
|
|
cmp r1, #0xcb
|
|
beq _021F2A4C
|
|
mov r0, #0xd7
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_021F2A4C:
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F2A68 ; =0x00002DC8
|
|
add r1, r4, r1
|
|
ldr r0, [r1, r0]
|
|
lsl r0, r0, #0x13
|
|
lsr r1, r0, #0x1e
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F2A64: .word 0x0000305C
|
|
_021F2A68: .word 0x00002DC8
|
|
thumb_func_end MOD16_021F2A10
|
|
|
|
thumb_func_start MOD16_021F2A6C
|
|
MOD16_021F2A6C: ; 0x021F2A6C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021F2C8C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021F2A6C
|
|
|
|
thumb_func_start MOD16_021F2A8C
|
|
MOD16_021F2A8C: ; 0x021F2A8C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
pop {r4, pc}
|
|
thumb_func_end MOD16_021F2A8C
|
|
|
|
thumb_func_start MOD16_021F2AA8
|
|
MOD16_021F2AA8: ; 0x021F2AA8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD16_021F2CC4
|
|
cmp r0, #1
|
|
beq _021F2ACE
|
|
mov r1, #0xd9
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #1
|
|
orr r0, r2
|
|
strb r0, [r4, r1]
|
|
_021F2ACE:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD16_021F2AA8
|
|
|
|
thumb_func_start MOD16_021F2AD0
|
|
MOD16_021F2AD0: ; 0x021F2AD0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
cmp r4, #0
|
|
beq _021F2AFA
|
|
cmp r4, #1
|
|
beq _021F2B20
|
|
cmp r4, #2
|
|
beq _021F2B46
|
|
pop {r3, r4, r5, pc}
|
|
_021F2AFA:
|
|
ldr r2, _021F2B6C ; =0x000003CF
|
|
mov r3, #0xc0
|
|
ldrb r0, [r5, r2]
|
|
add r2, r2, #1
|
|
ldrb r2, [r5, r2]
|
|
add r4, r0, #0
|
|
mul r4, r3
|
|
add r0, r5, r4
|
|
ldr r4, _021F2B70 ; =0x00002D74
|
|
mul r3, r2
|
|
add r2, r5, r3
|
|
ldrb r0, [r0, r4]
|
|
ldrb r2, [r2, r4]
|
|
cmp r0, r2
|
|
bls _021F2B6A
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, pc}
|
|
_021F2B20:
|
|
ldr r2, _021F2B6C ; =0x000003CF
|
|
mov r3, #0xc0
|
|
ldrb r0, [r5, r2]
|
|
add r2, r2, #1
|
|
ldrb r2, [r5, r2]
|
|
add r4, r0, #0
|
|
mul r4, r3
|
|
add r0, r5, r4
|
|
ldr r4, _021F2B70 ; =0x00002D74
|
|
mul r3, r2
|
|
add r2, r5, r3
|
|
ldrb r0, [r0, r4]
|
|
ldrb r2, [r2, r4]
|
|
cmp r0, r2
|
|
bhs _021F2B6A
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
pop {r3, r4, r5, pc}
|
|
_021F2B46:
|
|
ldr r2, _021F2B6C ; =0x000003CF
|
|
mov r3, #0xc0
|
|
ldrb r0, [r5, r2]
|
|
add r2, r2, #1
|
|
ldrb r2, [r5, r2]
|
|
add r4, r0, #0
|
|
mul r4, r3
|
|
add r0, r5, r4
|
|
ldr r4, _021F2B70 ; =0x00002D74
|
|
mul r3, r2
|
|
add r2, r5, r3
|
|
ldrb r0, [r0, r4]
|
|
ldrb r2, [r2, r4]
|
|
cmp r0, r2
|
|
bne _021F2B6A
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D88
|
|
_021F2B6A:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F2B6C: .word 0x000003CF
|
|
_021F2B70: .word 0x00002D74
|
|
thumb_func_end MOD16_021F2AD0
|
|
|
|
thumb_func_start MOD16_021F2B74
|
|
MOD16_021F2B74: ; 0x021F2B74
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldrb r2, [r4, r0]
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r2, r4, r0
|
|
ldr r0, _021F2BA8 ; =0x00002DC8
|
|
ldr r0, [r2, r0]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x1d
|
|
beq _021F2BA4
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
_021F2BA4:
|
|
pop {r4, pc}
|
|
nop
|
|
_021F2BA8: .word 0x00002DC8
|
|
thumb_func_end MOD16_021F2B74
|
|
|
|
thumb_func_start MOD16_021F2BAC
|
|
MOD16_021F2BAC: ; 0x021F2BAC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldrb r2, [r4, r0]
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r2, r4, r0
|
|
ldr r0, _021F2BE0 ; =0x00002DC8
|
|
ldr r0, [r2, r0]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x1d
|
|
bne _021F2BDC
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
_021F2BDC:
|
|
pop {r4, pc}
|
|
nop
|
|
_021F2BE0: .word 0x00002DC8
|
|
thumb_func_end MOD16_021F2BAC
|
|
|
|
thumb_func_start MOD16_021F2BE4
|
|
MOD16_021F2BE4: ; 0x021F2BE4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
ldr r2, _021F2C14 ; =0x000003CF
|
|
add r1, r0, #0
|
|
ldrb r0, [r4, r2]
|
|
add r2, r2, #1
|
|
mov r3, #1
|
|
ldrb r2, [r4, r2]
|
|
and r0, r3
|
|
and r2, r3
|
|
cmp r0, r2
|
|
bne _021F2C10
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D88
|
|
_021F2C10:
|
|
pop {r4, pc}
|
|
nop
|
|
_021F2C14: .word 0x000003CF
|
|
thumb_func_end MOD16_021F2BE4
|
|
|
|
thumb_func_start MOD16_021F2C18
|
|
MOD16_021F2C18: ; 0x021F2C18
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD16_021F2D54
|
|
lsl r1, r4, #0x18
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F2C58 ; =0x00002DC8
|
|
add r1, r5, r1
|
|
ldr r0, [r1, r0]
|
|
lsr r0, r0, #0x1f
|
|
beq _021F2C54
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD16_021F2D88
|
|
_021F2C54:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021F2C58: .word 0x00002DC8
|
|
thumb_func_end MOD16_021F2C18
|
|
|
|
thumb_func_start MOD16_021F2C5C
|
|
MOD16_021F2C5C: ; 0x021F2C5C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD16_021F2D88
|
|
add r0, r4, #0
|
|
bl MOD16_021F2D54
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD16_021F2D98
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD11_02246D1C
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD16_021F2C5C
|
|
|
|
thumb_func_start MOD16_021F2C8C
|
|
MOD16_021F2C8C: ; 0x021F2C8C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0xf3
|
|
lsl r1, r1, #2
|
|
ldrb r5, [r4, r1]
|
|
add r0, r5, #1
|
|
strb r0, [r4, r1]
|
|
ldr r0, _021F2CC0 ; =0x00002138
|
|
sub r1, #0x20
|
|
ldr r3, [r4, r0]
|
|
lsl r0, r5, #2
|
|
add r0, r4, r0
|
|
str r3, [r0, r1]
|
|
add r0, r4, #0
|
|
add r1, r2, #0
|
|
bl MOD16_021F2D88
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #8
|
|
bls _021F2CBC
|
|
bl ErrorHandling
|
|
_021F2CBC:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F2CC0: .word 0x00002138
|
|
thumb_func_end MOD16_021F2C8C
|
|
|
|
thumb_func_start MOD16_021F2CC4
|
|
MOD16_021F2CC4: ; 0x021F2CC4
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldrb r2, [r1, r0]
|
|
cmp r2, #0
|
|
beq _021F2CE4
|
|
sub r2, r2, #1
|
|
strb r2, [r1, r0]
|
|
ldrb r2, [r1, r0]
|
|
sub r0, #0x20
|
|
lsl r2, r2, #2
|
|
add r2, r1, r2
|
|
ldr r2, [r2, r0]
|
|
ldr r0, _021F2CE8 ; =0x00002138
|
|
str r2, [r1, r0]
|
|
mov r0, #1
|
|
bx lr
|
|
_021F2CE4:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021F2CE8: .word 0x00002138
|
|
thumb_func_end MOD16_021F2CC4
|
|
|
|
thumb_func_start MOD16_021F2CEC
|
|
MOD16_021F2CEC: ; 0x021F2CEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r2, #0x3d
|
|
lsl r2, r2, #4
|
|
str r1, [sp]
|
|
ldrb r1, [r1, r2]
|
|
mov r7, #0x37
|
|
lsl r7, r7, #4
|
|
mov lr, r1
|
|
mov r3, lr
|
|
lsl r4, r3, #1
|
|
ldr r3, [sp]
|
|
ldr r2, [sp]
|
|
lsl r1, r1, #3
|
|
add r4, r3, r4
|
|
ldr r3, _021F2D50 ; =0x0000307C
|
|
mov r0, #0
|
|
add r5, r2, r1
|
|
mov ip, r1
|
|
ldrh r3, [r4, r3]
|
|
add r1, r5, #0
|
|
add r2, r0, #0
|
|
add r6, r7, #0
|
|
_021F2D18:
|
|
ldrh r4, [r1, r6]
|
|
cmp r3, r4
|
|
beq _021F2D4E
|
|
add r4, r5, r2
|
|
ldrh r4, [r4, r7]
|
|
cmp r4, #0
|
|
bne _021F2D44
|
|
mov r1, lr
|
|
lsl r2, r1, #1
|
|
ldr r1, [sp]
|
|
ldr r3, [sp]
|
|
add r2, r1, r2
|
|
ldr r1, _021F2D50 ; =0x0000307C
|
|
lsl r0, r0, #1
|
|
ldrh r1, [r2, r1]
|
|
mov r2, ip
|
|
add r2, r3, r2
|
|
add r2, r2, r0
|
|
mov r0, #0x37
|
|
lsl r0, r0, #4
|
|
strh r1, [r2, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2D44:
|
|
add r0, r0, #1
|
|
add r1, r1, #2
|
|
add r2, r2, #2
|
|
cmp r0, #4
|
|
blt _021F2D18
|
|
_021F2D4E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F2D50: .word 0x0000307C
|
|
thumb_func_end MOD16_021F2CEC
|
|
|
|
thumb_func_start MOD16_021F2D54
|
|
MOD16_021F2D54: ; 0x021F2D54
|
|
ldr r1, _021F2D70 ; =0x00002134
|
|
add r2, r1, #4
|
|
ldr r2, [r0, r2]
|
|
ldr r3, [r0, r1]
|
|
lsl r2, r2, #2
|
|
ldr r3, [r3, r2]
|
|
add r2, r1, #4
|
|
ldr r2, [r0, r2]
|
|
add r1, r1, #4
|
|
add r2, r2, #1
|
|
str r2, [r0, r1]
|
|
add r0, r3, #0
|
|
bx lr
|
|
nop
|
|
_021F2D70: .word 0x00002134
|
|
thumb_func_end MOD16_021F2D54
|
|
|
|
thumb_func_start MOD16_021F2D74
|
|
MOD16_021F2D74: ; 0x021F2D74
|
|
ldr r2, _021F2D84 ; =0x00002134
|
|
ldr r3, [r0, r2]
|
|
add r2, r2, #4
|
|
ldr r0, [r0, r2]
|
|
add r0, r0, r1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r3, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F2D84: .word 0x00002134
|
|
thumb_func_end MOD16_021F2D74
|
|
|
|
thumb_func_start MOD16_021F2D88
|
|
MOD16_021F2D88: ; 0x021F2D88
|
|
ldr r2, _021F2D94 ; =0x00002138
|
|
ldr r3, [r0, r2]
|
|
add r1, r3, r1
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
nop
|
|
_021F2D94: .word 0x00002138
|
|
thumb_func_end MOD16_021F2D88
|
|
|
|
thumb_func_start MOD16_021F2D98
|
|
MOD16_021F2D98: ; 0x021F2D98
|
|
cmp r1, #3
|
|
bhi _021F2DB6
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F2DA8: ; jump table
|
|
.short _021F2DB6 - _021F2DA8 - 2 ; case 0
|
|
.short _021F2DB0 - _021F2DA8 - 2 ; case 1
|
|
.short _021F2DCC - _021F2DA8 - 2 ; case 2
|
|
.short _021F2DBE - _021F2DA8 - 2 ; case 3
|
|
_021F2DB0:
|
|
ldr r1, _021F2DDC ; =0x000003CF
|
|
ldrb r0, [r0, r1]
|
|
bx lr
|
|
_021F2DB6:
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r0, [r0, r1]
|
|
bx lr
|
|
_021F2DBE:
|
|
ldr r1, _021F2DDC ; =0x000003CF
|
|
ldrb r1, [r0, r1]
|
|
mov r0, #2
|
|
eor r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
_021F2DCC:
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r0, r1]
|
|
mov r0, #2
|
|
eor r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
.align 2, 0
|
|
_021F2DDC: .word 0x000003CF
|
|
thumb_func_end MOD16_021F2D98
|
|
|
|
thumb_func_start MOD16_021F2DE0
|
|
MOD16_021F2DE0: ; 0x021F2DE0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x44]
|
|
ldr r6, [sp, #0x40]
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0x48]
|
|
add r7, r1, #0
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [sp, #0x4c]
|
|
str r2, [sp, #0x18]
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, [sp, #0x50]
|
|
str r3, [sp, #0x1c]
|
|
str r0, [sp, #0x50]
|
|
ldr r0, [sp, #0x54]
|
|
str r0, [sp, #0x54]
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
_021F2E08:
|
|
ldr r2, [sp, #0x1c]
|
|
ldr r3, _021F2ED4 ; =0x000003DE
|
|
ldrh r2, [r2]
|
|
ldr r1, _021F2ED8 ; =0x021FF7F4
|
|
mov r0, #0
|
|
mov ip, r2
|
|
lsl r2, r2, #4
|
|
add r2, r7, r2
|
|
ldrh r3, [r2, r3]
|
|
str r2, [sp, #0x20]
|
|
ldr r2, _021F2EDC ; =0x0000FFFF
|
|
_021F2E1E:
|
|
ldrh r4, [r1]
|
|
cmp r4, r3
|
|
beq _021F2E2E
|
|
add r1, r1, #2
|
|
ldrh r4, [r1]
|
|
add r0, r0, #1
|
|
cmp r4, r2
|
|
bne _021F2E1E
|
|
_021F2E2E:
|
|
ldr r2, _021F2EE0 ; =0x021FF7DC
|
|
ldr r4, _021F2EDC ; =0x0000FFFF
|
|
mov r1, #0
|
|
_021F2E34:
|
|
ldrh r5, [r2]
|
|
cmp r5, r3
|
|
beq _021F2E44
|
|
add r2, r2, #2
|
|
ldrh r5, [r2]
|
|
add r1, r1, #1
|
|
cmp r5, r4
|
|
bne _021F2E34
|
|
_021F2E44:
|
|
lsl r2, r1, #1
|
|
ldr r1, _021F2EE0 ; =0x021FF7DC
|
|
ldrh r1, [r1, r2]
|
|
ldr r2, _021F2EDC ; =0x0000FFFF
|
|
cmp r1, r2
|
|
bne _021F2E6A
|
|
mov r1, ip
|
|
cmp r1, #0
|
|
beq _021F2EA0
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F2ED8 ; =0x021FF7F4
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, r2
|
|
bne _021F2EA0
|
|
ldr r1, _021F2EE4 ; =0x000003E1
|
|
ldr r0, [sp, #0x20]
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #1
|
|
bls _021F2EA0
|
|
_021F2E6A:
|
|
ldr r0, [sp, #0x54]
|
|
cmp r0, #1
|
|
bne _021F2E7C
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r7, r0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r1, r0]
|
|
b _021F2E7E
|
|
_021F2E7C:
|
|
mov r0, #0x64
|
|
_021F2E7E:
|
|
ldr r1, [sp, #0x48]
|
|
mov r2, ip
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x18]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x4c]
|
|
str r1, [sp, #8]
|
|
ldr r1, [sp, #0x50]
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [sp, #0x44]
|
|
add r1, r7, #0
|
|
bl MOD16_021F2EE8
|
|
str r0, [r6]
|
|
b _021F2EA4
|
|
_021F2EA0:
|
|
mov r0, #0
|
|
str r0, [r6]
|
|
_021F2EA4:
|
|
ldr r0, [sp, #0x1c]
|
|
add r6, r6, #4
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x28]
|
|
cmp r0, #4
|
|
blt _021F2E08
|
|
ldr r2, [sp, #0x40]
|
|
mov r3, #0
|
|
_021F2EBA:
|
|
ldr r1, [r2]
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, r1
|
|
bge _021F2EC4
|
|
str r1, [sp, #0x24]
|
|
_021F2EC4:
|
|
add r3, r3, #1
|
|
add r2, r2, #4
|
|
cmp r3, #4
|
|
blt _021F2EBA
|
|
ldr r0, [sp, #0x24]
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F2ED4: .word 0x000003DE
|
|
_021F2ED8: .word 0x021FF7F4
|
|
_021F2EDC: .word 0x0000FFFF
|
|
_021F2EE0: .word 0x021FF7DC
|
|
_021F2EE4: .word 0x000003E1
|
|
thumb_func_end MOD16_021F2DE0
|
|
|
|
thumb_func_start MOD16_021F2EE8
|
|
MOD16_021F2EE8: ; 0x021F2EE8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x4c
|
|
add r6, r1, #0
|
|
ldr r1, [sp, #0x60]
|
|
str r3, [sp, #0x1c]
|
|
str r1, [sp, #0x60]
|
|
ldr r1, [sp, #0x64]
|
|
str r0, [sp, #0x18]
|
|
str r1, [sp, #0x64]
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r6, r1]
|
|
add r5, r2, #0
|
|
bl MOD11_02230270
|
|
mov r4, #0
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
add r7, r4, #0
|
|
str r4, [sp, #0x20]
|
|
str r0, [sp, #0x48]
|
|
cmp r5, #0xd8
|
|
bgt _021F2F4E
|
|
blt _021F2F1A
|
|
b _021F3156
|
|
_021F2F1A:
|
|
cmp r5, #0x52
|
|
bgt _021F2F3C
|
|
blt _021F2F22
|
|
b _021F311C
|
|
_021F2F22:
|
|
cmp r5, #0x31
|
|
bgt _021F2F2C
|
|
bne _021F2F2A
|
|
b _021F31CE
|
|
_021F2F2A:
|
|
b _021F3210
|
|
_021F2F2C:
|
|
cmp r5, #0x45
|
|
bgt _021F2F3A
|
|
cmp r5, #0x43
|
|
blt _021F2F3A
|
|
beq _021F2F84
|
|
cmp r5, #0x45
|
|
beq _021F2F42
|
|
_021F2F3A:
|
|
b _021F3210
|
|
_021F2F3C:
|
|
cmp r5, #0x65
|
|
bgt _021F2F46
|
|
bne _021F2F44
|
|
_021F2F42:
|
|
b _021F3122
|
|
_021F2F44:
|
|
b _021F3210
|
|
_021F2F46:
|
|
cmp r5, #0x95
|
|
bne _021F2F4C
|
|
b _021F3132
|
|
_021F2F4C:
|
|
b _021F3210
|
|
_021F2F4E:
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
cmp r5, r0
|
|
bgt _021F2F74
|
|
blt _021F2F5A
|
|
b _021F30F2
|
|
_021F2F5A:
|
|
cmp r5, #0xde
|
|
bgt _021F2F6E
|
|
cmp r5, #0xda
|
|
blt _021F2F6C
|
|
bne _021F2F66
|
|
b _021F3170
|
|
_021F2F66:
|
|
cmp r5, #0xde
|
|
bne _021F2F6C
|
|
b _021F318E
|
|
_021F2F6C:
|
|
b _021F3210
|
|
_021F2F6E:
|
|
cmp r5, #0xed
|
|
beq _021F304C
|
|
b _021F3210
|
|
_021F2F74:
|
|
add r1, r0, #0
|
|
add r1, #0x57
|
|
cmp r5, r1
|
|
bgt _021F2F8E
|
|
add r1, r0, #0
|
|
add r1, #0x57
|
|
cmp r5, r1
|
|
blt _021F2F86
|
|
_021F2F84:
|
|
b _021F31D4
|
|
_021F2F86:
|
|
add r0, r0, #3
|
|
cmp r5, r0
|
|
beq _021F2F96
|
|
b _021F3210
|
|
_021F2F8E:
|
|
add r0, #0x59
|
|
cmp r5, r0
|
|
beq _021F2FBE
|
|
b _021F3210
|
|
_021F2F96:
|
|
ldr r0, [sp, #0x68]
|
|
cmp r0, #0x67
|
|
beq _021F2FCA
|
|
ldr r0, [sp, #0x6c]
|
|
cmp r0, #0
|
|
bne _021F2FCA
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
mov r2, #0xb
|
|
bl MOD11_0224C12C
|
|
add r4, r0, #0
|
|
beq _021F2FCA
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
mov r2, #0xc
|
|
bl MOD11_0224C12C
|
|
add r7, r0, #0
|
|
b _021F3214
|
|
_021F2FBE:
|
|
ldr r0, [sp, #0x68]
|
|
cmp r0, #0x67
|
|
beq _021F2FCA
|
|
ldr r0, [sp, #0x6c]
|
|
cmp r0, #0
|
|
beq _021F2FCC
|
|
_021F2FCA:
|
|
b _021F3214
|
|
_021F2FCC:
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
mov r2, #1
|
|
bl MOD11_0224C12C
|
|
sub r0, #0x7d
|
|
cmp r0, #0xf
|
|
bhi _021F3048
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F2FE8: ; jump table
|
|
.short _021F3028 - _021F2FE8 - 2 ; case 0
|
|
.short _021F302C - _021F2FE8 - 2 ; case 1
|
|
.short _021F3034 - _021F2FE8 - 2 ; case 2
|
|
.short _021F3030 - _021F2FE8 - 2 ; case 3
|
|
.short _021F303C - _021F2FE8 - 2 ; case 4
|
|
.short _021F3008 - _021F2FE8 - 2 ; case 5
|
|
.short _021F3010 - _021F2FE8 - 2 ; case 6
|
|
.short _021F3014 - _021F2FE8 - 2 ; case 7
|
|
.short _021F300C - _021F2FE8 - 2 ; case 8
|
|
.short _021F3038 - _021F2FE8 - 2 ; case 9
|
|
.short _021F301C - _021F2FE8 - 2 ; case 10
|
|
.short _021F3018 - _021F2FE8 - 2 ; case 11
|
|
.short _021F3020 - _021F2FE8 - 2 ; case 12
|
|
.short _021F3040 - _021F2FE8 - 2 ; case 13
|
|
.short _021F3044 - _021F2FE8 - 2 ; case 14
|
|
.short _021F3024 - _021F2FE8 - 2 ; case 15
|
|
_021F3008:
|
|
mov r7, #1
|
|
b _021F3214
|
|
_021F300C:
|
|
mov r7, #2
|
|
b _021F3214
|
|
_021F3010:
|
|
mov r7, #3
|
|
b _021F3214
|
|
_021F3014:
|
|
mov r7, #4
|
|
b _021F3214
|
|
_021F3018:
|
|
mov r7, #5
|
|
b _021F3214
|
|
_021F301C:
|
|
mov r7, #6
|
|
b _021F3214
|
|
_021F3020:
|
|
mov r7, #7
|
|
b _021F3214
|
|
_021F3024:
|
|
mov r7, #8
|
|
b _021F3214
|
|
_021F3028:
|
|
mov r7, #0xa
|
|
b _021F3214
|
|
_021F302C:
|
|
mov r7, #0xb
|
|
b _021F3214
|
|
_021F3030:
|
|
mov r7, #0xc
|
|
b _021F3214
|
|
_021F3034:
|
|
mov r7, #0xd
|
|
b _021F3214
|
|
_021F3038:
|
|
mov r7, #0xe
|
|
b _021F3214
|
|
_021F303C:
|
|
mov r7, #0xf
|
|
b _021F3214
|
|
_021F3040:
|
|
mov r7, #0x10
|
|
b _021F3214
|
|
_021F3044:
|
|
mov r7, #0x11
|
|
b _021F3214
|
|
_021F3048:
|
|
mov r7, #0
|
|
b _021F3214
|
|
_021F304C:
|
|
ldr r0, [sp, #0x60]
|
|
ldr r1, [sp, #0x60]
|
|
ldrb r0, [r0, #1]
|
|
ldrb r3, [r1, #4]
|
|
ldrb r1, [r1, #5]
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x60]
|
|
str r1, [sp, #0x34]
|
|
ldrb r0, [r0]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1a
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x60]
|
|
str r1, [sp, #0x38]
|
|
ldrb r2, [r0, #2]
|
|
lsl r1, r3, #0x1f
|
|
lsr r1, r1, #0x1b
|
|
ldrb r0, [r0, #3]
|
|
str r1, [sp, #0x3c]
|
|
mov r4, #1
|
|
lsl r1, r0, #0x1f
|
|
lsr r1, r1, #0x1c
|
|
str r1, [sp, #0x40]
|
|
lsl r1, r2, #0x1f
|
|
lsr r7, r1, #0x1d
|
|
ldr r1, [sp, #0x30]
|
|
and r1, r4
|
|
ldr r4, [sp, #0x2c]
|
|
lsl r4, r4, #0x1f
|
|
lsr r4, r4, #0x1e
|
|
orr r1, r4
|
|
add r4, r7, #0
|
|
orr r4, r1
|
|
ldr r1, [sp, #0x40]
|
|
orr r4, r1
|
|
ldr r1, [sp, #0x3c]
|
|
orr r4, r1
|
|
ldr r1, [sp, #0x38]
|
|
orr r1, r4
|
|
str r1, [sp, #0x24]
|
|
mov r1, #2
|
|
ldr r4, [sp, #0x34]
|
|
and r3, r1
|
|
and r4, r1
|
|
lsl r4, r4, #4
|
|
str r4, [sp, #0x44]
|
|
and r0, r1
|
|
lsl r4, r3, #3
|
|
lsl r3, r0, #2
|
|
add r0, r2, #0
|
|
and r0, r1
|
|
lsl r2, r0, #1
|
|
ldr r0, [sp, #0x30]
|
|
and r0, r1
|
|
asr r7, r0, #1
|
|
ldr r0, [sp, #0x2c]
|
|
and r0, r1
|
|
orr r0, r7
|
|
orr r0, r2
|
|
orr r0, r3
|
|
add r1, r4, #0
|
|
orr r1, r0
|
|
ldr r0, [sp, #0x44]
|
|
orr r1, r0
|
|
mov r0, #0x28
|
|
mul r0, r1
|
|
mov r1, #0x3f
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
ldr r1, [sp, #0x24]
|
|
mov r0, #0xf
|
|
mul r0, r1
|
|
mov r1, #0x3f
|
|
add r4, #0x1e
|
|
bl _s32_div_f
|
|
add r7, r0, #1
|
|
cmp r7, #9
|
|
bge _021F30EE
|
|
b _021F3214
|
|
_021F30EE:
|
|
add r7, r7, #1
|
|
b _021F3214
|
|
_021F30F2:
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r6, r0]
|
|
ldr r2, _021F32B4 ; =0x000021F0
|
|
lsl r0, r0, #2
|
|
add r0, r6, r0
|
|
ldr r1, [r0, r2]
|
|
mov r0, #0x19
|
|
mul r0, r1
|
|
ldr r1, [sp, #0x64]
|
|
lsl r1, r1, #2
|
|
add r1, r6, r1
|
|
ldr r1, [r1, r2]
|
|
bl _u32_div_f
|
|
add r4, r0, #1
|
|
cmp r4, #0x96
|
|
ble _021F3118
|
|
mov r4, #0x96
|
|
_021F3118:
|
|
mov r7, #0
|
|
b _021F3214
|
|
_021F311C:
|
|
mov r0, #0x28
|
|
str r0, [sp, #0x20]
|
|
b _021F3214
|
|
_021F3122:
|
|
ldr r0, [sp, #0x64]
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F32B8 ; =0x00002D74
|
|
add r1, r6, r1
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #0x20]
|
|
b _021F3214
|
|
_021F3132:
|
|
bl rand_LC
|
|
mov r1, #0xb
|
|
bl _s32_div_f
|
|
ldr r0, [sp, #0x64]
|
|
mov r2, #0xc0
|
|
mul r2, r0
|
|
ldr r0, _021F32B8 ; =0x00002D74
|
|
add r2, r6, r2
|
|
ldrb r2, [r2, r0]
|
|
add r0, r1, #5
|
|
mov r1, #0xa
|
|
mul r0, r2
|
|
bl _s32_div_f
|
|
str r0, [sp, #0x20]
|
|
b _021F3214
|
|
_021F3156:
|
|
ldr r0, [sp, #0x64]
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F32BC ; =0x00002D75
|
|
add r1, r6, r1
|
|
ldrb r1, [r1, r0]
|
|
mov r0, #0xa
|
|
mul r0, r1
|
|
mov r1, #0x19
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
b _021F3214
|
|
_021F3170:
|
|
ldr r0, [sp, #0x64]
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
ldr r0, _021F32BC ; =0x00002D75
|
|
add r1, r6, r1
|
|
ldrb r1, [r1, r0]
|
|
mov r0, #0xff
|
|
sub r1, r0, r1
|
|
mov r0, #0xa
|
|
mul r0, r1
|
|
mov r1, #0x19
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
b _021F3214
|
|
_021F318E:
|
|
bl rand_LC
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
cmp r1, #5
|
|
bge _021F31A0
|
|
mov r4, #0xa
|
|
b _021F31CA
|
|
_021F31A0:
|
|
cmp r1, #0xf
|
|
bge _021F31A8
|
|
mov r4, #0x1e
|
|
b _021F31CA
|
|
_021F31A8:
|
|
cmp r1, #0x23
|
|
bge _021F31B0
|
|
mov r4, #0x32
|
|
b _021F31CA
|
|
_021F31B0:
|
|
cmp r1, #0x41
|
|
bge _021F31B8
|
|
mov r4, #0x46
|
|
b _021F31CA
|
|
_021F31B8:
|
|
cmp r1, #0x55
|
|
bge _021F31C0
|
|
mov r4, #0x5a
|
|
b _021F31CA
|
|
_021F31C0:
|
|
cmp r1, #0x5f
|
|
bge _021F31C8
|
|
mov r4, #0x6e
|
|
b _021F31CA
|
|
_021F31C8:
|
|
mov r4, #0x96
|
|
_021F31CA:
|
|
mov r7, #0
|
|
b _021F3214
|
|
_021F31CE:
|
|
mov r0, #0x14
|
|
str r0, [sp, #0x20]
|
|
b _021F3214
|
|
_021F31D4:
|
|
mov r2, #0x3d
|
|
lsl r2, r2, #4
|
|
ldrb r3, [r6, r2]
|
|
mov r2, #0xc0
|
|
ldr r1, _021F32C0 ; =0x021FF7C4
|
|
mul r2, r3
|
|
add r3, r6, r2
|
|
ldr r2, _021F32C4 ; =0x00002D60
|
|
ldr r4, _021F32C8 ; =0x0000FFFF
|
|
ldr r2, [r3, r2]
|
|
mov r0, #0
|
|
_021F31EA:
|
|
ldrh r3, [r1]
|
|
cmp r3, r2
|
|
bge _021F31FA
|
|
add r1, r1, #4
|
|
ldrh r3, [r1]
|
|
add r0, r0, #1
|
|
cmp r3, r4
|
|
bne _021F31EA
|
|
_021F31FA:
|
|
ldr r1, _021F32C0 ; =0x021FF7C4
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r1, r0]
|
|
ldr r1, _021F32C8 ; =0x0000FFFF
|
|
cmp r2, r1
|
|
beq _021F320C
|
|
ldr r1, _021F32CC ; =0x021FF7C6
|
|
ldrh r4, [r1, r0]
|
|
b _021F3214
|
|
_021F320C:
|
|
mov r4, #0x78
|
|
b _021F3214
|
|
_021F3210:
|
|
mov r4, #0
|
|
add r7, r4, #0
|
|
_021F3214:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
bne _021F325E
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
mov ip, r0
|
|
ldr r0, [r6, r0]
|
|
ldr r3, [sp, #0x28]
|
|
str r0, [sp]
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
lsl r0, r7, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x64]
|
|
lsl r3, r3, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r6, r0]
|
|
add r4, r6, r3
|
|
mov r3, ip
|
|
str r0, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x14]
|
|
add r3, #0x3c
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [r4, r3]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl MOD11_0224B310
|
|
str r0, [sp, #0x20]
|
|
b _021F326A
|
|
_021F325E:
|
|
ldr r1, _021F32D0 ; =0x0000213C
|
|
mov r0, #2
|
|
ldr r2, [r6, r1]
|
|
lsl r0, r0, #0xa
|
|
orr r0, r2
|
|
str r0, [r6, r1]
|
|
_021F326A:
|
|
ldr r0, [sp, #0x64]
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r6, r0]
|
|
add r2, r5, #0
|
|
add r3, r7, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x48
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
bl MOD11_02246274
|
|
ldr r2, _021F32D0 ; =0x0000213C
|
|
ldr r1, _021F32D4 ; =0xFFFFF7FF
|
|
ldr r3, [r6, r2]
|
|
and r1, r3
|
|
str r1, [r6, r2]
|
|
ldr r2, [sp, #0x48]
|
|
ldr r1, _021F32D8 ; =0x00140808
|
|
tst r1, r2
|
|
beq _021F32A2
|
|
add sp, #0x4c
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F32A2:
|
|
add r1, sp, #0x70
|
|
ldrb r1, [r1]
|
|
mul r1, r0
|
|
add r0, r1, #0
|
|
mov r1, #0x64
|
|
bl MOD11_022476C0
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F32B4: .word 0x000021F0
|
|
_021F32B8: .word 0x00002D74
|
|
_021F32BC: .word 0x00002D75
|
|
_021F32C0: .word 0x021FF7C4
|
|
_021F32C4: .word 0x00002D60
|
|
_021F32C8: .word 0x0000FFFF
|
|
_021F32CC: .word 0x021FF7C6
|
|
_021F32D0: .word 0x0000213C
|
|
_021F32D4: .word 0xFFFFF7FF
|
|
_021F32D8: .word 0x00140808
|
|
thumb_func_end MOD16_021F2EE8
|
|
|
|
thumb_func_start MOD16_021F32DC
|
|
MOD16_021F32DC: ; 0x021F32DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
ldr r2, _021F3448 ; =0x00000137
|
|
add r7, r0, #0
|
|
add r4, r1, #0
|
|
cmp r3, r2
|
|
bgt _021F32F4
|
|
blt _021F32EE
|
|
b _021F33F0
|
|
_021F32EE:
|
|
cmp r3, #0xed
|
|
beq _021F3396
|
|
b _021F3442
|
|
_021F32F4:
|
|
add r0, r2, #0
|
|
add r0, #0x34
|
|
cmp r3, r0
|
|
bgt _021F3304
|
|
add r2, #0x34
|
|
cmp r3, r2
|
|
beq _021F330C
|
|
b _021F3442
|
|
_021F3304:
|
|
add r2, #0x8a
|
|
cmp r3, r2
|
|
beq _021F3318
|
|
b _021F3442
|
|
_021F330C:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02249E04
|
|
add r5, r0, #0
|
|
b _021F3444
|
|
_021F3318:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02249D90
|
|
sub r0, #0x7d
|
|
cmp r0, #0xf
|
|
bhi _021F3392
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F3332: ; jump table
|
|
.short _021F3372 - _021F3332 - 2 ; case 0
|
|
.short _021F3376 - _021F3332 - 2 ; case 1
|
|
.short _021F337E - _021F3332 - 2 ; case 2
|
|
.short _021F337A - _021F3332 - 2 ; case 3
|
|
.short _021F3386 - _021F3332 - 2 ; case 4
|
|
.short _021F3352 - _021F3332 - 2 ; case 5
|
|
.short _021F335A - _021F3332 - 2 ; case 6
|
|
.short _021F335E - _021F3332 - 2 ; case 7
|
|
.short _021F3356 - _021F3332 - 2 ; case 8
|
|
.short _021F3382 - _021F3332 - 2 ; case 9
|
|
.short _021F3366 - _021F3332 - 2 ; case 10
|
|
.short _021F3362 - _021F3332 - 2 ; case 11
|
|
.short _021F336A - _021F3332 - 2 ; case 12
|
|
.short _021F338A - _021F3332 - 2 ; case 13
|
|
.short _021F338E - _021F3332 - 2 ; case 14
|
|
.short _021F336E - _021F3332 - 2 ; case 15
|
|
_021F3352:
|
|
mov r5, #1
|
|
b _021F3444
|
|
_021F3356:
|
|
mov r5, #2
|
|
b _021F3444
|
|
_021F335A:
|
|
mov r5, #3
|
|
b _021F3444
|
|
_021F335E:
|
|
mov r5, #4
|
|
b _021F3444
|
|
_021F3362:
|
|
mov r5, #5
|
|
b _021F3444
|
|
_021F3366:
|
|
mov r5, #6
|
|
b _021F3444
|
|
_021F336A:
|
|
mov r5, #7
|
|
b _021F3444
|
|
_021F336E:
|
|
mov r5, #8
|
|
b _021F3444
|
|
_021F3372:
|
|
mov r5, #0xa
|
|
b _021F3444
|
|
_021F3376:
|
|
mov r5, #0xb
|
|
b _021F3444
|
|
_021F337A:
|
|
mov r5, #0xc
|
|
b _021F3444
|
|
_021F337E:
|
|
mov r5, #0xd
|
|
b _021F3444
|
|
_021F3382:
|
|
mov r5, #0xe
|
|
b _021F3444
|
|
_021F3386:
|
|
mov r5, #0xf
|
|
b _021F3444
|
|
_021F338A:
|
|
mov r5, #0x10
|
|
b _021F3444
|
|
_021F338E:
|
|
mov r5, #0x11
|
|
b _021F3444
|
|
_021F3392:
|
|
mov r5, #0
|
|
b _021F3444
|
|
_021F3396:
|
|
ldr r0, _021F344C ; =0x00002D54
|
|
add r1, r4, r0
|
|
mov r0, #0xc0
|
|
mul r0, r6
|
|
ldr r4, [r1, r0]
|
|
lsl r0, r4, #2
|
|
lsr r0, r0, #0x1b
|
|
lsl r0, r0, #0x1f
|
|
lsr r5, r0, #0x1a
|
|
lsl r0, r4, #7
|
|
lsr r0, r0, #0x1b
|
|
lsl r0, r0, #0x1f
|
|
lsr r3, r0, #0x1b
|
|
lsl r0, r4, #0xc
|
|
lsr r0, r0, #0x1b
|
|
lsl r0, r0, #0x1f
|
|
lsr r2, r0, #0x1c
|
|
lsl r0, r4, #0x11
|
|
lsr r0, r0, #0x1b
|
|
lsl r0, r0, #0x1f
|
|
lsr r1, r0, #0x1d
|
|
lsl r0, r4, #0x1b
|
|
lsl r4, r4, #0x16
|
|
lsr r4, r4, #0x1b
|
|
lsr r6, r0, #0x1b
|
|
mov r0, #1
|
|
lsl r4, r4, #0x1f
|
|
and r0, r6
|
|
lsr r4, r4, #0x1e
|
|
orr r0, r4
|
|
orr r0, r1
|
|
orr r0, r2
|
|
orr r0, r3
|
|
add r1, r5, #0
|
|
orr r1, r0
|
|
mov r0, #0xf
|
|
mul r0, r1
|
|
mov r1, #0x3f
|
|
bl _s32_div_f
|
|
add r5, r0, #1
|
|
cmp r5, #9
|
|
blt _021F3444
|
|
add r5, r5, #1
|
|
b _021F3444
|
|
_021F33F0:
|
|
mov r2, #0xd
|
|
str r2, [sp]
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
bne _021F3444
|
|
mov r0, #0x4c
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
bne _021F3444
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021F3450 ; =0x000080FF
|
|
tst r1, r0
|
|
beq _021F3444
|
|
mov r1, #3
|
|
tst r1, r0
|
|
beq _021F3428
|
|
mov r5, #0xb
|
|
_021F3428:
|
|
mov r1, #0xc
|
|
tst r1, r0
|
|
beq _021F3430
|
|
mov r5, #5
|
|
_021F3430:
|
|
mov r1, #0x30
|
|
tst r1, r0
|
|
beq _021F3438
|
|
mov r5, #0xa
|
|
_021F3438:
|
|
mov r1, #0xc0
|
|
tst r0, r1
|
|
beq _021F3444
|
|
mov r5, #0xf
|
|
b _021F3444
|
|
_021F3442:
|
|
mov r5, #0
|
|
_021F3444:
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F3448: .word 0x00000137
|
|
_021F344C: .word 0x00002D54
|
|
_021F3450: .word 0x000080FF
|
|
thumb_func_end MOD16_021F32DC
|
|
|
|
thumb_func_start MOD16_021F3454
|
|
MOD16_021F3454: ; 0x021F3454
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
ldr r2, _021F360C ; =0x00000137
|
|
add r7, r0, #0
|
|
add r6, r1, #0
|
|
cmp r3, r2
|
|
bgt _021F346E
|
|
blt _021F3468
|
|
b _021F35B2
|
|
_021F3468:
|
|
cmp r3, #0xed
|
|
beq _021F3530
|
|
b _021F3604
|
|
_021F346E:
|
|
add r0, r2, #0
|
|
add r0, #0x34
|
|
cmp r3, r0
|
|
bgt _021F347E
|
|
add r2, #0x34
|
|
cmp r3, r2
|
|
beq _021F3486
|
|
b _021F3604
|
|
_021F347E:
|
|
add r2, #0x8a
|
|
cmp r3, r2
|
|
beq _021F34A2
|
|
b _021F3604
|
|
_021F3486:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0xc
|
|
bl MOD11_0224C12C
|
|
add r5, r0, #0
|
|
b _021F3606
|
|
_021F34A2:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x10
|
|
mov r2, #1
|
|
bl MOD11_0224C12C
|
|
sub r0, #0x7d
|
|
cmp r0, #0xf
|
|
bhi _021F352C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F34CC: ; jump table
|
|
.short _021F350C - _021F34CC - 2 ; case 0
|
|
.short _021F3510 - _021F34CC - 2 ; case 1
|
|
.short _021F3518 - _021F34CC - 2 ; case 2
|
|
.short _021F3514 - _021F34CC - 2 ; case 3
|
|
.short _021F3520 - _021F34CC - 2 ; case 4
|
|
.short _021F34EC - _021F34CC - 2 ; case 5
|
|
.short _021F34F4 - _021F34CC - 2 ; case 6
|
|
.short _021F34F8 - _021F34CC - 2 ; case 7
|
|
.short _021F34F0 - _021F34CC - 2 ; case 8
|
|
.short _021F351C - _021F34CC - 2 ; case 9
|
|
.short _021F3500 - _021F34CC - 2 ; case 10
|
|
.short _021F34FC - _021F34CC - 2 ; case 11
|
|
.short _021F3504 - _021F34CC - 2 ; case 12
|
|
.short _021F3524 - _021F34CC - 2 ; case 13
|
|
.short _021F3528 - _021F34CC - 2 ; case 14
|
|
.short _021F3508 - _021F34CC - 2 ; case 15
|
|
_021F34EC:
|
|
mov r5, #1
|
|
b _021F3606
|
|
_021F34F0:
|
|
mov r5, #2
|
|
b _021F3606
|
|
_021F34F4:
|
|
mov r5, #3
|
|
b _021F3606
|
|
_021F34F8:
|
|
mov r5, #4
|
|
b _021F3606
|
|
_021F34FC:
|
|
mov r5, #5
|
|
b _021F3606
|
|
_021F3500:
|
|
mov r5, #6
|
|
b _021F3606
|
|
_021F3504:
|
|
mov r5, #7
|
|
b _021F3606
|
|
_021F3508:
|
|
mov r5, #8
|
|
b _021F3606
|
|
_021F350C:
|
|
mov r5, #0xa
|
|
b _021F3606
|
|
_021F3510:
|
|
mov r5, #0xb
|
|
b _021F3606
|
|
_021F3514:
|
|
mov r5, #0xc
|
|
b _021F3606
|
|
_021F3518:
|
|
mov r5, #0xd
|
|
b _021F3606
|
|
_021F351C:
|
|
mov r5, #0xe
|
|
b _021F3606
|
|
_021F3520:
|
|
mov r5, #0xf
|
|
b _021F3606
|
|
_021F3524:
|
|
mov r5, #0x10
|
|
b _021F3606
|
|
_021F3528:
|
|
mov r5, #0x11
|
|
b _021F3606
|
|
_021F352C:
|
|
mov r5, #0
|
|
b _021F3606
|
|
_021F3530:
|
|
add r0, r4, #0
|
|
mov r1, #0x4b
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x4a
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x49
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x48
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0x46
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x47
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r1, r0, #0
|
|
lsl r2, r6, #0x1f
|
|
lsl r0, r5, #0x1f
|
|
lsr r5, r2, #0x1b
|
|
lsl r2, r7, #0x1f
|
|
lsr r4, r2, #0x1c
|
|
ldr r2, [sp, #4]
|
|
lsl r1, r1, #0x1f
|
|
lsl r2, r2, #0x1f
|
|
lsr r3, r2, #0x1d
|
|
ldr r2, [sp, #8]
|
|
mov r6, #1
|
|
and r2, r6
|
|
lsr r1, r1, #0x1e
|
|
orr r1, r2
|
|
orr r1, r3
|
|
orr r1, r4
|
|
lsr r0, r0, #0x1a
|
|
orr r1, r5
|
|
orr r1, r0
|
|
mov r0, #0xf
|
|
mul r0, r1
|
|
mov r1, #0x3f
|
|
bl _s32_div_f
|
|
add r5, r0, #1
|
|
cmp r5, #9
|
|
blt _021F3606
|
|
add r5, r5, #1
|
|
b _021F3606
|
|
_021F35B2:
|
|
mov r2, #0xd
|
|
str r2, [sp]
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
bne _021F3606
|
|
mov r0, #0x4c
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
bne _021F3606
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
ldr r1, _021F3610 ; =0x000080FF
|
|
tst r1, r0
|
|
beq _021F3606
|
|
mov r1, #3
|
|
tst r1, r0
|
|
beq _021F35EA
|
|
mov r5, #0xb
|
|
_021F35EA:
|
|
mov r1, #0xc
|
|
tst r1, r0
|
|
beq _021F35F2
|
|
mov r5, #5
|
|
_021F35F2:
|
|
mov r1, #0x30
|
|
tst r1, r0
|
|
beq _021F35FA
|
|
mov r5, #0xa
|
|
_021F35FA:
|
|
mov r1, #0xc0
|
|
tst r0, r1
|
|
beq _021F3606
|
|
mov r5, #0xf
|
|
b _021F3606
|
|
_021F3604:
|
|
mov r5, #0
|
|
_021F3606:
|
|
add r0, r5, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F360C: .word 0x00000137
|
|
_021F3610: .word 0x000080FF
|
|
thumb_func_end MOD16_021F3454
|
|
|
|
thumb_func_start MOD16_021F3614
|
|
MOD16_021F3614: ; 0x021F3614
|
|
push {r4, r5}
|
|
mov r2, #0xc0
|
|
mul r2, r1
|
|
add r5, r0, r2
|
|
mov r2, #0xb7
|
|
lsl r2, r2, #6
|
|
ldr r4, [r5, r2]
|
|
mov r3, #0x20
|
|
tst r3, r4
|
|
beq _021F3640
|
|
add r2, #8
|
|
ldr r2, [r5, r2]
|
|
lsl r2, r2, #0x11
|
|
lsr r2, r2, #0x1e
|
|
bne _021F3640
|
|
add r1, r0, r1
|
|
ldr r0, _021F3648 ; =0x000021A4
|
|
mov r2, #6
|
|
strb r2, [r1, r0]
|
|
mov r0, #1
|
|
pop {r4, r5}
|
|
bx lr
|
|
_021F3640:
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
nop
|
|
_021F3648: .word 0x000021A4
|
|
thumb_func_end MOD16_021F3614
|
|
|
|
thumb_func_start MOD16_021F364C
|
|
MOD16_021F364C: ; 0x021F364C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
str r0, [sp, #0x14]
|
|
add r5, r1, #0
|
|
str r2, [sp, #0x18]
|
|
bl MOD11_0222FF74
|
|
mov r1, #2
|
|
tst r0, r1
|
|
beq _021F3666
|
|
add sp, #0x44
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3666:
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #1
|
|
add r4, r0, #0
|
|
eor r4, r1
|
|
mov r1, #0xc0
|
|
add r0, r4, #0
|
|
mul r0, r1
|
|
add r2, r5, r0
|
|
ldr r0, _021F37FC ; =0x00002D67
|
|
ldrb r0, [r2, r0]
|
|
cmp r0, #0x19
|
|
bne _021F36E4
|
|
mov r0, #0
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x18]
|
|
mul r1, r0
|
|
add r6, r5, r1
|
|
_021F3688:
|
|
ldr r0, _021F3800 ; =0x00002D4C
|
|
ldr r2, [sp, #0x18]
|
|
ldrh r7, [r6, r0]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021F32DC
|
|
add r3, r0, #0
|
|
cmp r7, #0
|
|
beq _021F36C8
|
|
mov r0, #0
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x40
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x14]
|
|
add r2, r7, #0
|
|
bl MOD11_02246274
|
|
ldr r1, [sp, #0x40]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F36C8
|
|
add sp, #0x44
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F36C8:
|
|
ldr r0, [sp, #0x28]
|
|
add r6, r6, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x28]
|
|
cmp r0, #4
|
|
blt _021F3688
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
bl MOD11_0222FFC8
|
|
cmp r0, #0
|
|
bgt _021F36E6
|
|
_021F36E4:
|
|
b _021F37F4
|
|
_021F36E6:
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x24]
|
|
_021F36EC:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x20]
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r6, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F37DE
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F37DE
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F3804 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F37DE
|
|
ldr r1, _021F3808 ; =0x0000219C
|
|
ldr r0, [sp, #0x24]
|
|
ldrb r1, [r0, r1]
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, r1
|
|
beq _021F37DE
|
|
mov r7, #0
|
|
_021F3730:
|
|
add r1, r7, #0
|
|
add r0, r6, #0
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [sp, #0x1c]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021F3454
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
beq _021F37D8
|
|
mov r0, #0
|
|
str r0, [sp, #0x40]
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0x30]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0x34]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02249D90
|
|
str r0, [sp, #0x38]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
str r0, [sp, #0x3c]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0x34]
|
|
ldr r2, [sp, #0x2c]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x38]
|
|
ldr r3, [sp, #0x30]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x3c]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x40
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
bl MOD11_022465A0
|
|
ldr r1, [sp, #0x40]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F37D8
|
|
bl rand_LC
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
cmp r1, #2
|
|
bge _021F37D8
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, _021F380C ; =0x000021A4
|
|
add r2, r5, r0
|
|
ldr r0, [sp, #0x20]
|
|
add sp, #0x44
|
|
strb r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F37D8:
|
|
add r7, r7, #1
|
|
cmp r7, #4
|
|
blt _021F3730
|
|
_021F37DE:
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD11_0222FFC8
|
|
ldr r1, [sp, #0x20]
|
|
cmp r1, r0
|
|
bge _021F37F4
|
|
b _021F36EC
|
|
_021F37F4:
|
|
mov r0, #0
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F37FC: .word 0x00002D67
|
|
_021F3800: .word 0x00002D4C
|
|
_021F3804: .word 0x000001EE
|
|
_021F3808: .word 0x0000219C
|
|
_021F380C: .word 0x000021A4
|
|
thumb_func_end MOD16_021F364C
|
|
|
|
thumb_func_start MOD16_021F3810
|
|
MOD16_021F3810: ; 0x021F3810
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xb4
|
|
str r0, [sp, #0x14]
|
|
add r5, r1, #0
|
|
str r2, [sp, #0x18]
|
|
bl MOD11_0222FF74
|
|
mov r4, #2
|
|
tst r0, r4
|
|
beq _021F3828
|
|
mov r6, #0
|
|
b _021F382C
|
|
_021F3828:
|
|
mov r6, #0
|
|
add r4, r6, #0
|
|
_021F382C:
|
|
mov r0, #0
|
|
str r0, [sp, #0x54]
|
|
str r0, [sp, #0x6c]
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xc0
|
|
add r2, r0, #0
|
|
mul r2, r1
|
|
add r0, r5, r2
|
|
str r0, [sp, #0x3c]
|
|
add r0, r6, #0
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, r4, #0
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x34]
|
|
_021F384E:
|
|
ldr r1, [sp, #0x3c]
|
|
ldr r0, _021F3B78 ; =0x00002D4C
|
|
ldr r2, [sp, #0x18]
|
|
ldrh r7, [r1, r0]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021F32DC
|
|
str r0, [sp, #0x5c]
|
|
cmp r7, #0
|
|
beq _021F38E4
|
|
lsl r0, r7, #4
|
|
add r1, r5, r0
|
|
ldr r0, _021F3B7C ; =0x000003E1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F38E4
|
|
ldr r0, [sp, #0x54]
|
|
ldr r1, [sp, #0x38]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x54]
|
|
mov r0, #0
|
|
str r0, [sp, #0xb0]
|
|
ldr r0, _021F3B80 ; =0x00002D8C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F38A0
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [sp, #0x5c]
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0xb0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD11_02246274
|
|
_021F38A0:
|
|
ldr r1, [sp, #0xb0]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
bne _021F38AE
|
|
add sp, #0xb4
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F38AE:
|
|
mov r0, #0
|
|
str r0, [sp, #0xb0]
|
|
ldr r1, [sp, #0x34]
|
|
ldr r0, _021F3B80 ; =0x00002D8C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F38D6
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [sp, #0x5c]
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0xb0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD11_02246274
|
|
_021F38D6:
|
|
ldr r1, [sp, #0xb0]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
bne _021F38E4
|
|
add sp, #0xb4
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F38E4:
|
|
ldr r0, [sp, #0x3c]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #0x6c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x6c]
|
|
cmp r0, #4
|
|
blt _021F384E
|
|
ldr r0, [sp, #0x54]
|
|
cmp r0, #2
|
|
bge _021F3900
|
|
add sp, #0xb4
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3900:
|
|
ldr r0, [sp, #0x18]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x64]
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD11_0222FF74
|
|
mov r1, #0x10
|
|
tst r0, r1
|
|
bne _021F3920
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD11_0222FF74
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _021F3926
|
|
_021F3920:
|
|
ldr r0, [sp, #0x64]
|
|
str r0, [sp, #0x60]
|
|
b _021F3934
|
|
_021F3926:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x60]
|
|
_021F3934:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
bl MOD11_0222FFC8
|
|
str r0, [sp, #0x58]
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x58]
|
|
cmp r0, #0
|
|
bgt _021F394A
|
|
b _021F3B24
|
|
_021F394A:
|
|
ldr r0, [sp, #0x64]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0x60]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x40]
|
|
_021F3956:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x2c]
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
str r0, [sp, #0x50]
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F39BC
|
|
ldr r0, [sp, #0x50]
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F39BC
|
|
ldr r0, [sp, #0x50]
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F3B84 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F39BC
|
|
ldr r0, _021F3B88 ; =0x0000219C
|
|
ldr r1, [sp, #0x44]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x2c]
|
|
cmp r1, r2
|
|
beq _021F39BC
|
|
ldr r1, [sp, #0x40]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x2c]
|
|
cmp r1, r2
|
|
beq _021F39BC
|
|
add r2, r0, #0
|
|
ldr r1, [sp, #0x44]
|
|
add r2, #8
|
|
ldrb r2, [r1, r2]
|
|
ldr r1, [sp, #0x2c]
|
|
cmp r1, r2
|
|
beq _021F39BC
|
|
ldr r1, [sp, #0x40]
|
|
add r0, #8
|
|
ldrb r1, [r1, r0]
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, r1
|
|
bne _021F39BE
|
|
_021F39BC:
|
|
b _021F3B16
|
|
_021F39BE:
|
|
mov r0, #0
|
|
str r0, [sp, #0x68]
|
|
_021F39C2:
|
|
ldr r1, [sp, #0x68]
|
|
ldr r0, [sp, #0x50]
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x50]
|
|
add r1, r5, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021F3454
|
|
str r0, [sp, #0x24]
|
|
cmp r7, #0
|
|
beq _021F39F0
|
|
lsl r0, r7, #4
|
|
add r1, r5, r0
|
|
ldr r0, _021F3B7C ; =0x000003E1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021F39F2
|
|
_021F39F0:
|
|
b _021F3B0A
|
|
_021F39F2:
|
|
mov r0, #0
|
|
str r0, [sp, #0xb0]
|
|
ldr r1, [sp, #0x38]
|
|
ldr r0, _021F3B80 ; =0x00002D8C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F3A58
|
|
ldr r0, [sp, #0x50]
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0x70]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0x74]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02249D90
|
|
str r0, [sp, #0x78]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
str r0, [sp, #0x7c]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0x74]
|
|
ldr r2, [sp, #0x24]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x78]
|
|
ldr r3, [sp, #0x70]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x7c]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0xb0
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD11_022465A0
|
|
_021F3A58:
|
|
ldr r1, [sp, #0xb0]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F3A7E
|
|
bl rand_LC
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
cmp r1, #2
|
|
bge _021F3A7E
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, _021F3B8C ; =0x000021A4
|
|
add r2, r5, r0
|
|
ldr r0, [sp, #0x2c]
|
|
add sp, #0xb4
|
|
strb r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3A7E:
|
|
mov r0, #0
|
|
str r0, [sp, #0xb0]
|
|
ldr r1, [sp, #0x34]
|
|
ldr r0, _021F3B80 ; =0x00002D8C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F3AE4
|
|
ldr r0, [sp, #0x50]
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0x80]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0x84]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02249D90
|
|
str r0, [sp, #0x88]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
str r0, [sp, #0x8c]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0x84]
|
|
ldr r2, [sp, #0x24]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x88]
|
|
ldr r3, [sp, #0x80]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x8c]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0xb0
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD11_022465A0
|
|
_021F3AE4:
|
|
ldr r1, [sp, #0xb0]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F3B0A
|
|
bl rand_LC
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
cmp r1, #2
|
|
bge _021F3B0A
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, _021F3B8C ; =0x000021A4
|
|
add r2, r5, r0
|
|
ldr r0, [sp, #0x2c]
|
|
add sp, #0xb4
|
|
strb r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3B0A:
|
|
ldr r0, [sp, #0x68]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x68]
|
|
cmp r0, #4
|
|
bge _021F3B16
|
|
b _021F39C2
|
|
_021F3B16:
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x58]
|
|
str r1, [sp, #0x2c]
|
|
cmp r1, r0
|
|
bge _021F3B24
|
|
b _021F3956
|
|
_021F3B24:
|
|
mov r0, #0
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x58]
|
|
cmp r0, #0
|
|
bgt _021F3B30
|
|
b _021F3D2A
|
|
_021F3B30:
|
|
ldr r0, [sp, #0x64]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, [sp, #0x60]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x48]
|
|
_021F3B3C:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x30]
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
str r0, [sp, #0x20]
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F3BBE
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F3BBE
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F3B84 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F3BBE
|
|
ldr r0, _021F3B88 ; =0x0000219C
|
|
b _021F3B90
|
|
nop
|
|
_021F3B78: .word 0x00002D4C
|
|
_021F3B7C: .word 0x000003E1
|
|
_021F3B80: .word 0x00002D8C
|
|
_021F3B84: .word 0x000001EE
|
|
_021F3B88: .word 0x0000219C
|
|
_021F3B8C: .word 0x000021A4
|
|
_021F3B90:
|
|
ldr r1, [sp, #0x4c]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x30]
|
|
cmp r1, r2
|
|
beq _021F3BBE
|
|
ldr r1, [sp, #0x48]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x30]
|
|
cmp r1, r2
|
|
beq _021F3BBE
|
|
add r2, r0, #0
|
|
ldr r1, [sp, #0x4c]
|
|
add r2, #8
|
|
ldrb r2, [r1, r2]
|
|
ldr r1, [sp, #0x30]
|
|
cmp r1, r2
|
|
beq _021F3BBE
|
|
ldr r1, [sp, #0x48]
|
|
add r0, #8
|
|
ldrb r1, [r1, r0]
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, r1
|
|
bne _021F3BC0
|
|
_021F3BBE:
|
|
b _021F3D1C
|
|
_021F3BC0:
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
_021F3BC4:
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [sp, #0x20]
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x20]
|
|
add r1, r5, #0
|
|
add r3, r7, #0
|
|
bl MOD16_021F3454
|
|
str r0, [sp, #0x28]
|
|
cmp r7, #0
|
|
beq _021F3BF2
|
|
lsl r0, r7, #4
|
|
add r1, r5, r0
|
|
ldr r0, _021F3D30 ; =0x000003E1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021F3BF4
|
|
_021F3BF2:
|
|
b _021F3D10
|
|
_021F3BF4:
|
|
mov r0, #0
|
|
str r0, [sp, #0xb0]
|
|
ldr r1, [sp, #0x38]
|
|
ldr r0, _021F3D34 ; =0x00002D8C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F3C5A
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0x90]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0x94]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02249D90
|
|
str r0, [sp, #0x98]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
str r0, [sp, #0x9c]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0x94]
|
|
ldr r2, [sp, #0x28]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x98]
|
|
ldr r3, [sp, #0x90]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x9c]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0xb0
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD11_022465A0
|
|
_021F3C5A:
|
|
ldr r0, [sp, #0xb0]
|
|
cmp r0, #0
|
|
bne _021F3C82
|
|
bl rand_LC
|
|
lsr r1, r0, #0x1f
|
|
lsl r2, r0, #0x1f
|
|
sub r2, r2, r1
|
|
mov r0, #0x1f
|
|
ror r2, r0
|
|
add r0, r1, r2
|
|
bne _021F3C82
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, _021F3D38 ; =0x000021A4
|
|
add r2, r5, r0
|
|
ldr r0, [sp, #0x30]
|
|
add sp, #0xb4
|
|
strb r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3C82:
|
|
mov r0, #0
|
|
str r0, [sp, #0xb0]
|
|
ldr r1, [sp, #0x34]
|
|
ldr r0, _021F3D34 ; =0x00002D8C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _021F3CE8
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0xa0]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0xa4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02249D90
|
|
str r0, [sp, #0xa8]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
str r0, [sp, #0xac]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0xa4]
|
|
ldr r2, [sp, #0x28]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0xa8]
|
|
ldr r3, [sp, #0xa0]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0xac]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0xb0
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD11_022465A0
|
|
_021F3CE8:
|
|
ldr r0, [sp, #0xb0]
|
|
cmp r0, #0
|
|
bne _021F3D10
|
|
bl rand_LC
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
bne _021F3D10
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, _021F3D38 ; =0x000021A4
|
|
add r2, r5, r0
|
|
ldr r0, [sp, #0x30]
|
|
add sp, #0xb4
|
|
strb r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3D10:
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
cmp r0, #4
|
|
bge _021F3D1C
|
|
b _021F3BC4
|
|
_021F3D1C:
|
|
ldr r0, [sp, #0x30]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x58]
|
|
str r1, [sp, #0x30]
|
|
cmp r1, r0
|
|
bge _021F3D2A
|
|
b _021F3B3C
|
|
_021F3D2A:
|
|
mov r0, #0
|
|
add sp, #0xb4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F3D30: .word 0x000003E1
|
|
_021F3D34: .word 0x00002D8C
|
|
_021F3D38: .word 0x000021A4
|
|
thumb_func_end MOD16_021F3810
|
|
|
|
thumb_func_start MOD16_021F3D3C
|
|
MOD16_021F3D3C: ; 0x021F3D3C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r4, r2, #0
|
|
add r5, r1, #0
|
|
add r1, r4, #0
|
|
add r6, r0, #0
|
|
str r3, [sp, #0x10]
|
|
bl MOD11_02230260
|
|
mov r1, #1
|
|
eor r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
add r0, r6, #0
|
|
bl MOD11_0223022C
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x24]
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F3E88 ; =0x00003108
|
|
ldrb r1, [r5, r1]
|
|
tst r0, r1
|
|
bne _021F3DE2
|
|
mov r0, #0
|
|
str r0, [sp, #0x28]
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
add r7, r5, r0
|
|
_021F3D78:
|
|
ldr r0, _021F3E8C ; =0x00002D4C
|
|
add r1, r5, #0
|
|
ldrh r0, [r7, r0]
|
|
add r2, r4, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r3, [sp, #0x20]
|
|
add r0, r6, #0
|
|
bl MOD16_021F32DC
|
|
add r3, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
beq _021F3DD6
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x24]
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x2c
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD11_02246274
|
|
ldr r1, [sp, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F3DD6
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _021F3DC2
|
|
add sp, #0x30
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3DC2:
|
|
bl rand_LC
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
beq _021F3DD6
|
|
add sp, #0x30
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3DD6:
|
|
ldr r0, [sp, #0x28]
|
|
add r7, r7, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x28]
|
|
cmp r0, #4
|
|
blt _021F3D78
|
|
_021F3DE2:
|
|
add r0, r6, #0
|
|
bl MOD11_0222FF74
|
|
mov r1, #2
|
|
tst r0, r1
|
|
bne _021F3DF4
|
|
add sp, #0x30
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3DF4:
|
|
ldr r1, [sp, #0x24]
|
|
add r0, r6, #0
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x1c]
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F3E88 ; =0x00003108
|
|
ldrb r1, [r5, r1]
|
|
tst r0, r1
|
|
bne _021F3E82
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
add r7, r5, r0
|
|
_021F3E18:
|
|
ldr r0, _021F3E8C ; =0x00002D4C
|
|
add r1, r5, #0
|
|
ldrh r0, [r7, r0]
|
|
add r2, r4, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r6, #0
|
|
bl MOD16_021F32DC
|
|
add r3, r0, #0
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
beq _021F3E76
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x1c]
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x2c
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl MOD11_02246274
|
|
ldr r1, [sp, #0x2c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F3E76
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _021F3E62
|
|
add sp, #0x30
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3E62:
|
|
bl rand_LC
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
beq _021F3E76
|
|
add sp, #0x30
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3E76:
|
|
ldr r0, [sp, #0x18]
|
|
add r7, r7, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #4
|
|
blt _021F3E18
|
|
_021F3E82:
|
|
mov r0, #0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F3E88: .word 0x00003108
|
|
_021F3E8C: .word 0x00002D4C
|
|
thumb_func_end MOD16_021F3D3C
|
|
|
|
thumb_func_start MOD16_021F3E90
|
|
MOD16_021F3E90: ; 0x021F3E90
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
bl MOD16_021F3D3C
|
|
cmp r0, #0
|
|
beq _021F3EB8
|
|
bl rand_LC
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
beq _021F3EB8
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3EB8:
|
|
ldr r0, [sp, #8]
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp, #4]
|
|
add r1, r0, r1
|
|
ldr r0, _021F3FF4 ; =0x00003064
|
|
ldrh r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021F3ECE
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3ECE:
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp, #4]
|
|
add r2, r0, r1
|
|
ldr r0, _021F3FF8 ; =0x000003E1
|
|
ldrb r1, [r2, r0]
|
|
cmp r1, #0
|
|
bne _021F3EE2
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3EE2:
|
|
add r0, r0, #1
|
|
ldrb r0, [r2, r0]
|
|
cmp r0, #0xa
|
|
bne _021F3EF0
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x10]
|
|
b _021F3F0A
|
|
_021F3EF0:
|
|
cmp r0, #0xb
|
|
bne _021F3EFA
|
|
mov r0, #0xb
|
|
str r0, [sp, #0x10]
|
|
b _021F3F0A
|
|
_021F3EFA:
|
|
cmp r0, #0xd
|
|
bne _021F3F04
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x10]
|
|
b _021F3F0A
|
|
_021F3F04:
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3F0A:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
bl MOD11_02246D1C
|
|
ldr r1, [sp, #0x10]
|
|
cmp r1, r0
|
|
bne _021F3F1E
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3F1E:
|
|
ldr r0, [sp, #8]
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r0, [sp]
|
|
bl MOD11_0222FF74
|
|
mov r1, #0x10
|
|
tst r0, r1
|
|
bne _021F3F3C
|
|
ldr r0, [sp]
|
|
bl MOD11_0222FF74
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _021F3F40
|
|
_021F3F3C:
|
|
add r6, r4, #0
|
|
b _021F3F4C
|
|
_021F3F40:
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
_021F3F4C:
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
bl MOD11_0222FFC8
|
|
mov r5, #0
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
ble _021F3FEE
|
|
ldr r0, [sp, #4]
|
|
add r7, r0, r4
|
|
add r6, r0, r6
|
|
_021F3F62:
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
add r2, r5, #0
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F3FE6
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F3FE6
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F3FFC ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F3FE6
|
|
ldr r0, _021F4000 ; =0x0000219C
|
|
ldrb r0, [r7, r0]
|
|
cmp r5, r0
|
|
beq _021F3FE6
|
|
ldr r0, _021F4000 ; =0x0000219C
|
|
ldrb r0, [r6, r0]
|
|
cmp r5, r0
|
|
beq _021F3FE6
|
|
ldr r0, _021F4004 ; =0x000021A4
|
|
ldrb r0, [r7, r0]
|
|
cmp r5, r0
|
|
beq _021F3FE6
|
|
ldr r0, _021F4004 ; =0x000021A4
|
|
ldrb r0, [r6, r0]
|
|
cmp r5, r0
|
|
beq _021F3FE6
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, r1
|
|
bne _021F3FE6
|
|
bl rand_LC
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _021F3FE6
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
add sp, #0x14
|
|
add r1, r1, r0
|
|
ldr r0, _021F4004 ; =0x000021A4
|
|
strb r5, [r1, r0]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3FE6:
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _021F3F62
|
|
_021F3FEE:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F3FF4: .word 0x00003064
|
|
_021F3FF8: .word 0x000003E1
|
|
_021F3FFC: .word 0x000001EE
|
|
_021F4000: .word 0x0000219C
|
|
_021F4004: .word 0x000021A4
|
|
thumb_func_end MOD16_021F3E90
|
|
|
|
thumb_func_start MOD16_021F4008
|
|
MOD16_021F4008: ; 0x021F4008
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x60
|
|
add r5, r1, #0
|
|
add r1, r2, #0
|
|
lsl r6, r1, #1
|
|
str r3, [sp, #0x1c]
|
|
ldr r1, _021F424C ; =0x00003064
|
|
add r3, r5, r6
|
|
str r2, [sp, #0x18]
|
|
ldrh r2, [r3, r1]
|
|
str r0, [sp, #0x14]
|
|
cmp r2, #0
|
|
beq _021F402A
|
|
add r1, #8
|
|
ldrh r1, [r3, r1]
|
|
cmp r1, #0xff
|
|
bne _021F4030
|
|
_021F402A:
|
|
add sp, #0x60
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4030:
|
|
lsl r1, r2, #4
|
|
add r2, r5, r1
|
|
ldr r1, _021F4250 ; =0x000003E1
|
|
ldrb r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _021F4042
|
|
add sp, #0x60
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4042:
|
|
ldr r1, [sp, #0x18]
|
|
lsl r1, r1, #0x18
|
|
lsr r4, r1, #0x18
|
|
bl MOD11_0222FF74
|
|
mov r1, #0x10
|
|
tst r0, r1
|
|
bne _021F405E
|
|
ldr r0, [sp, #0x14]
|
|
bl MOD11_0222FF74
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _021F4062
|
|
_021F405E:
|
|
add r7, r4, #0
|
|
b _021F406E
|
|
_021F4062:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
_021F406E:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
bl MOD11_0222FFC8
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
bgt _021F4084
|
|
b _021F4246
|
|
_021F4084:
|
|
add r0, r5, r4
|
|
str r0, [sp, #0x2c]
|
|
add r0, r5, r7
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x68
|
|
ldrb r0, [r0, #0x10]
|
|
add r4, r5, r6
|
|
str r0, [sp, #0x24]
|
|
_021F4094:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x34]
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r6, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F40FA
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F40FA
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F4254 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F40FA
|
|
ldr r0, _021F4258 ; =0x0000219C
|
|
ldr r1, [sp, #0x2c]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x34]
|
|
cmp r1, r2
|
|
beq _021F40FA
|
|
ldr r1, [sp, #0x28]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x34]
|
|
cmp r1, r2
|
|
beq _021F40FA
|
|
add r2, r0, #0
|
|
ldr r1, [sp, #0x2c]
|
|
add r2, #8
|
|
ldrb r2, [r1, r2]
|
|
ldr r1, [sp, #0x34]
|
|
cmp r1, r2
|
|
beq _021F40FA
|
|
ldr r1, [sp, #0x28]
|
|
add r0, #8
|
|
ldrb r1, [r1, r0]
|
|
ldr r0, [sp, #0x34]
|
|
cmp r0, r1
|
|
bne _021F40FC
|
|
_021F40FA:
|
|
b _021F4238
|
|
_021F40FC:
|
|
mov r0, #0
|
|
str r0, [sp, #0x5c]
|
|
ldr r3, _021F425C ; =0x0000306C
|
|
ldr r0, [sp, #0x14]
|
|
ldrh r2, [r4, r3]
|
|
sub r3, #8
|
|
ldrh r3, [r4, r3]
|
|
add r1, r5, #0
|
|
bl MOD16_021F32DC
|
|
ldr r1, _021F425C ; =0x0000306C
|
|
str r0, [sp, #0x38]
|
|
ldrh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0x3c]
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0x40]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x10
|
|
mov r2, #1
|
|
bl MOD11_0224C12C
|
|
str r0, [sp, #0x44]
|
|
add r0, r6, #0
|
|
mov r1, #0xb0
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0xb1
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, [sp, #0x40]
|
|
ldr r2, [sp, #0x38]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x44]
|
|
ldr r3, [sp, #0x3c]
|
|
str r1, [sp, #4]
|
|
str r7, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x5c
|
|
str r0, [sp, #0x10]
|
|
ldr r1, _021F424C ; =0x00003064
|
|
add r0, r5, #0
|
|
ldrh r1, [r4, r1]
|
|
bl MOD11_022465A0
|
|
ldr r1, [sp, #0x5c]
|
|
ldr r0, [sp, #0x1c]
|
|
tst r0, r1
|
|
beq _021F4238
|
|
mov r7, #0
|
|
_021F4182:
|
|
add r1, r7, #0
|
|
add r0, r6, #0
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [sp, #0x20]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl MOD16_021F3454
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
beq _021F4232
|
|
mov r0, #0
|
|
str r0, [sp, #0x5c]
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F425C ; =0x0000306C
|
|
str r0, [sp, #0x4c]
|
|
ldrh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MOD11_02246D1C
|
|
ldr r1, _021F425C ; =0x0000306C
|
|
str r0, [sp, #0x50]
|
|
ldrh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MOD11_02249D90
|
|
ldr r1, _021F425C ; =0x0000306C
|
|
str r0, [sp, #0x54]
|
|
ldrh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, _021F425C ; =0x0000306C
|
|
str r0, [sp, #0x58]
|
|
ldrh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0x50]
|
|
ldr r2, [sp, #0x48]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x54]
|
|
ldr r3, [sp, #0x4c]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x58]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x5c
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r5, #0
|
|
bl MOD11_022465A0
|
|
ldr r1, [sp, #0x5c]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F4232
|
|
bl rand_LC
|
|
ldr r1, [sp, #0x24]
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
bne _021F4232
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, _021F4260 ; =0x000021A4
|
|
add r2, r5, r0
|
|
ldr r0, [sp, #0x34]
|
|
add sp, #0x60
|
|
strb r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4232:
|
|
add r7, r7, #1
|
|
cmp r7, #4
|
|
blt _021F4182
|
|
_021F4238:
|
|
ldr r0, [sp, #0x34]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x30]
|
|
str r1, [sp, #0x34]
|
|
cmp r1, r0
|
|
bge _021F4246
|
|
b _021F4094
|
|
_021F4246:
|
|
mov r0, #0
|
|
add sp, #0x60
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F424C: .word 0x00003064
|
|
_021F4250: .word 0x000003E1
|
|
_021F4254: .word 0x000001EE
|
|
_021F4258: .word 0x0000219C
|
|
_021F425C: .word 0x0000306C
|
|
_021F4260: .word 0x000021A4
|
|
thumb_func_end MOD16_021F4008
|
|
|
|
thumb_func_start MOD16_021F4264
|
|
MOD16_021F4264: ; 0x021F4264
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r0, [sp, #4]
|
|
add r4, r2, #0
|
|
mov r0, #0xc0
|
|
add r5, r1, #0
|
|
mul r0, r4
|
|
add r1, r5, r0
|
|
ldr r0, _021F4340 ; =0x00002DAC
|
|
ldr r1, [r1, r0]
|
|
mov r0, #7
|
|
tst r0, r1
|
|
beq _021F429E
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD11_02246D1C
|
|
cmp r0, #0x1e
|
|
bne _021F429E
|
|
mov r0, #0xc0
|
|
mul r0, r4
|
|
add r2, r5, r0
|
|
ldr r0, _021F4344 ; =0x00002D8C
|
|
ldr r1, [r2, r0]
|
|
add r0, r0, #4
|
|
ldr r0, [r2, r0]
|
|
lsr r0, r0, #1
|
|
cmp r1, r0
|
|
bhs _021F42A4
|
|
_021F429E:
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F42A4:
|
|
ldr r0, _021F4348 ; =0x00003064
|
|
lsl r7, r4, #1
|
|
add r6, r5, r0
|
|
ldrh r0, [r6, r7]
|
|
cmp r0, #0
|
|
bne _021F42C8
|
|
bl rand_LC
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _021F42C8
|
|
ldr r0, _021F434C ; =0x000021A4
|
|
mov r3, #6
|
|
add r2, r5, r4
|
|
strb r3, [r2, r0]
|
|
add sp, #8
|
|
add r0, r1, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F42C8:
|
|
ldrh r0, [r6, r7]
|
|
lsl r0, r0, #4
|
|
add r1, r5, r0
|
|
ldr r0, _021F4350 ; =0x000003E1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _021F42EE
|
|
bl rand_LC
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _021F42EE
|
|
ldr r0, _021F434C ; =0x000021A4
|
|
mov r3, #6
|
|
add r2, r5, r4
|
|
strb r3, [r2, r0]
|
|
add sp, #8
|
|
add r0, r1, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F42EE:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #8
|
|
bl MOD16_021F4008
|
|
cmp r0, #0
|
|
beq _021F4308
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4308:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #4
|
|
bl MOD16_021F4008
|
|
cmp r0, #0
|
|
beq _021F4322
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4322:
|
|
bl rand_LC
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _021F433A
|
|
ldr r0, _021F434C ; =0x000021A4
|
|
mov r3, #6
|
|
add r2, r5, r4
|
|
strb r3, [r2, r0]
|
|
add sp, #8
|
|
add r0, r1, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F433A:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F4340: .word 0x00002DAC
|
|
_021F4344: .word 0x00002D8C
|
|
_021F4348: .word 0x00003064
|
|
_021F434C: .word 0x000021A4
|
|
_021F4350: .word 0x000003E1
|
|
thumb_func_end MOD16_021F4264
|
|
|
|
thumb_func_start MOD16_021F4354
|
|
MOD16_021F4354: ; 0x021F4354
|
|
push {r3, r4}
|
|
mov r4, #0xc0
|
|
mul r4, r2
|
|
mov r3, #0
|
|
ldr r2, _021F4388 ; =0x00002D58
|
|
add r0, r3, #0
|
|
add r4, r1, r4
|
|
_021F4362:
|
|
ldrsb r1, [r4, r2]
|
|
cmp r1, #6
|
|
ble _021F4370
|
|
sub r1, r1, #6
|
|
add r1, r3, r1
|
|
lsl r1, r1, #0x18
|
|
lsr r3, r1, #0x18
|
|
_021F4370:
|
|
add r0, r0, #1
|
|
add r4, r4, #1
|
|
cmp r0, #8
|
|
blt _021F4362
|
|
cmp r3, #4
|
|
blo _021F4382
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021F4382:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
.align 2, 0
|
|
_021F4388: .word 0x00002D58
|
|
thumb_func_end MOD16_021F4354
|
|
|
|
thumb_func_start MOD16_021F438C
|
|
MOD16_021F438C: ; 0x021F438C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r2, #0
|
|
mov r2, #0xc0
|
|
add r3, r6, #0
|
|
mul r3, r2
|
|
add r2, r1, #0
|
|
add r5, r2, r3
|
|
ldr r2, _021F4590 ; =0x00002DB0
|
|
ldr r3, _021F4594 ; =0x0400E000
|
|
ldr r4, [r5, r2]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
tst r4, r3
|
|
bne _021F440C
|
|
add r2, #0x10
|
|
ldr r4, [r5, r2]
|
|
lsr r2, r3, #0x10
|
|
tst r2, r4
|
|
bne _021F440C
|
|
mov r2, #0x17
|
|
str r2, [sp]
|
|
mov r2, #2
|
|
add r3, r6, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
bne _021F440C
|
|
mov r0, #0x47
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
mov r2, #2
|
|
add r3, r6, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
bne _021F440C
|
|
mov r0, #0x2a
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
mov r2, #6
|
|
add r3, r6, #0
|
|
bl MOD11_02246870
|
|
cmp r0, #0
|
|
beq _021F4412
|
|
ldr r0, [sp, #8]
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
cmp r0, #8
|
|
beq _021F440C
|
|
ldr r0, [sp, #8]
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
cmp r0, #8
|
|
bne _021F4412
|
|
_021F440C:
|
|
add sp, #0x18
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4412:
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
lsl r0, r6, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r0, [sp, #4]
|
|
bl MOD11_0222FF74
|
|
mov r1, #0x10
|
|
tst r0, r1
|
|
bne _021F4432
|
|
ldr r0, [sp, #4]
|
|
bl MOD11_0222FF74
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _021F4436
|
|
_021F4432:
|
|
add r7, r4, #0
|
|
b _021F4442
|
|
_021F4436:
|
|
ldr r0, [sp, #4]
|
|
add r1, r6, #0
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
_021F4442:
|
|
ldr r0, [sp, #4]
|
|
add r1, r6, #0
|
|
bl MOD11_0222FFC8
|
|
mov r5, #0
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
ble _021F44C2
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, r4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #8]
|
|
add r7, r0, r7
|
|
_021F445C:
|
|
ldr r0, [sp, #4]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F44BA
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F44BA
|
|
add r0, r4, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F4598 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F44BA
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, _021F459C ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
cmp r5, r0
|
|
beq _021F44BA
|
|
ldr r0, _021F459C ; =0x0000219C
|
|
ldrb r0, [r7, r0]
|
|
cmp r5, r0
|
|
beq _021F44BA
|
|
ldr r0, _021F45A0 ; =0x000021A4
|
|
ldrb r0, [r1, r0]
|
|
cmp r5, r0
|
|
beq _021F44BA
|
|
ldr r0, _021F45A0 ; =0x000021A4
|
|
ldrb r0, [r7, r0]
|
|
cmp r5, r0
|
|
beq _021F44BA
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
_021F44BA:
|
|
ldr r0, [sp, #0x10]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _021F445C
|
|
_021F44C2:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
beq _021F4588
|
|
ldr r0, [sp, #8]
|
|
add r1, r6, #0
|
|
bl MOD16_021F3614
|
|
cmp r0, #0
|
|
beq _021F44DA
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F44DA:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
bl MOD16_021F364C
|
|
cmp r0, #0
|
|
beq _021F44EE
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F44EE:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
bl MOD16_021F3810
|
|
cmp r0, #0
|
|
beq _021F4502
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4502:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
bl MOD16_021F3E90
|
|
cmp r0, #0
|
|
beq _021F4516
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4516:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
bl MOD16_021F4264
|
|
cmp r0, #0
|
|
beq _021F452A
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F452A:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl MOD16_021F3D3C
|
|
cmp r0, #0
|
|
beq _021F4540
|
|
add sp, #0x18
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4540:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
bl MOD16_021F4354
|
|
cmp r0, #0
|
|
beq _021F4554
|
|
add sp, #0x18
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4554:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
mov r3, #8
|
|
bl MOD16_021F4008
|
|
cmp r0, #0
|
|
beq _021F456E
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F456E:
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
mov r3, #4
|
|
bl MOD16_021F4008
|
|
cmp r0, #0
|
|
beq _021F4588
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4588:
|
|
mov r0, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F4590: .word 0x00002DB0
|
|
_021F4594: .word 0x0400E000
|
|
_021F4598: .word 0x000001EE
|
|
_021F459C: .word 0x0000219C
|
|
_021F45A0: .word 0x000021A4
|
|
thumb_func_end MOD16_021F438C
|
|
|
|
thumb_func_start MOD16_021F45A4
|
|
MOD16_021F45A4: ; 0x021F45A4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r1, #0
|
|
add r1, r0, #0
|
|
str r0, [sp]
|
|
ldr r5, [r1, #0x30]
|
|
bl MOD11_0222FF74
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
tst r0, r6
|
|
bne _021F45C8
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl MOD11_02230270
|
|
cmp r0, #0
|
|
bne _021F4688
|
|
_021F45C8:
|
|
ldr r0, [sp]
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl MOD16_021F438C
|
|
cmp r0, #0
|
|
beq _021F4676
|
|
ldr r0, _021F4690 ; =0x000021A4
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x10]
|
|
ldrb r0, [r0, r7]
|
|
cmp r0, #6
|
|
bne _021F4670
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl MOD16_021F4698
|
|
add r4, r0, #0
|
|
cmp r4, #6
|
|
bne _021F466C
|
|
lsl r0, r7, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x10
|
|
tst r0, r6
|
|
bne _021F4602
|
|
mov r0, #8
|
|
tst r0, r6
|
|
beq _021F4608
|
|
_021F4602:
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [sp, #8]
|
|
b _021F4616
|
|
_021F4608:
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
_021F4616:
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl MOD11_0222FFC8
|
|
mov r4, #0
|
|
str r0, [sp, #4]
|
|
cmp r0, #0
|
|
ble _021F466C
|
|
ldr r0, [sp, #0xc]
|
|
add r6, r5, r0
|
|
ldr r0, [sp, #8]
|
|
add r5, r5, r0
|
|
_021F462E:
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F4664
|
|
ldr r0, _021F4694 ; =0x0000219C
|
|
ldrb r0, [r6, r0]
|
|
cmp r4, r0
|
|
beq _021F4664
|
|
ldr r0, _021F4694 ; =0x0000219C
|
|
ldrb r0, [r5, r0]
|
|
cmp r4, r0
|
|
beq _021F4664
|
|
ldr r0, _021F4690 ; =0x000021A4
|
|
ldrb r0, [r6, r0]
|
|
cmp r4, r0
|
|
beq _021F4664
|
|
ldr r0, _021F4690 ; =0x000021A4
|
|
ldrb r0, [r5, r0]
|
|
cmp r4, r0
|
|
bne _021F466C
|
|
_021F4664:
|
|
ldr r0, [sp, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021F462E
|
|
_021F466C:
|
|
ldr r0, [sp, #0x10]
|
|
strb r4, [r0, r7]
|
|
_021F4670:
|
|
add sp, #0x14
|
|
mov r0, #3
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F4676:
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl MOD16_021F4A40
|
|
cmp r0, #0
|
|
beq _021F4688
|
|
add sp, #0x14
|
|
mov r0, #2
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F4688:
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F4690: .word 0x000021A4
|
|
_021F4694: .word 0x0000219C
|
|
thumb_func_end MOD16_021F45A4
|
|
|
|
thumb_func_start MOD16_021F4698
|
|
MOD16_021F4698: ; 0x021F4698
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x94
|
|
add r7, r0, #0
|
|
str r1, [sp, #0x18]
|
|
lsl r1, r1, #0x18
|
|
ldr r5, [r7, #0x30]
|
|
lsr r4, r1, #0x18
|
|
bl MOD11_0222FF74
|
|
mov r1, #0x10
|
|
tst r0, r1
|
|
bne _021F46BC
|
|
add r0, r7, #0
|
|
bl MOD11_0222FF74
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _021F46C0
|
|
_021F46BC:
|
|
str r4, [sp, #0x44]
|
|
b _021F46CE
|
|
_021F46C0:
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r7, #0
|
|
bl MOD11_022302BC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x44]
|
|
_021F46CE:
|
|
ldr r2, [sp, #0x18]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD11_022482A4
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r7, #0
|
|
bl MOD11_0222FFC8
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0
|
|
str r0, [sp, #0x50]
|
|
add r0, r5, r4
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x44]
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x30]
|
|
_021F46F4:
|
|
mov r0, #0
|
|
str r0, [sp, #0x48]
|
|
mov r0, #6
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [sp, #0x40]
|
|
ldr r4, [sp, #0x48]
|
|
cmp r0, #0
|
|
ble _021F47F8
|
|
_021F4704:
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r7, #0
|
|
add r2, r4, #0
|
|
bl MOD11_02230014
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
str r0, [sp, #0x68]
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
beq _021F47E0
|
|
ldr r0, _021F4A1C ; =0x000001EE
|
|
cmp r1, r0
|
|
beq _021F47E0
|
|
ldr r0, [sp, #0x68]
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F47E0
|
|
add r0, r4, #0
|
|
bl MaskOfFlagNo
|
|
ldr r1, [sp, #0x50]
|
|
tst r0, r1
|
|
bne _021F47E0
|
|
ldr r1, [sp, #0x34]
|
|
ldr r0, _021F4A20 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
cmp r4, r0
|
|
beq _021F47E0
|
|
ldr r1, [sp, #0x30]
|
|
ldr r0, _021F4A20 ; =0x0000219C
|
|
ldrb r0, [r1, r0]
|
|
cmp r4, r0
|
|
beq _021F47E0
|
|
ldr r1, [sp, #0x34]
|
|
ldr r0, _021F4A24 ; =0x000021A4
|
|
ldrb r0, [r1, r0]
|
|
cmp r4, r0
|
|
beq _021F47E0
|
|
ldr r1, [sp, #0x30]
|
|
ldr r0, _021F4A24 ; =0x000021A4
|
|
ldrb r0, [r1, r0]
|
|
cmp r4, r0
|
|
beq _021F47E0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x60]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x5c]
|
|
ldr r0, [sp, #0x68]
|
|
mov r1, #0xb0
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x58]
|
|
ldr r0, [sp, #0x68]
|
|
mov r1, #0xb1
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x54]
|
|
ldr r0, [sp, #0x58]
|
|
ldr r1, [sp, #0x60]
|
|
ldr r2, [sp, #0x5c]
|
|
bl MOD11_02246B9C
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, [sp, #0x54]
|
|
ldr r1, [sp, #0x60]
|
|
ldr r2, [sp, #0x5c]
|
|
bl MOD11_02246B9C
|
|
ldr r1, [sp, #0x4c]
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x4c]
|
|
ldr r1, [sp, #0x48]
|
|
cmp r1, r0
|
|
bhs _021F47F0
|
|
ldr r0, [sp, #0x4c]
|
|
str r0, [sp, #0x48]
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x38]
|
|
b _021F47F0
|
|
_021F47E0:
|
|
add r0, r4, #0
|
|
bl MaskOfFlagNo
|
|
ldr r1, [sp, #0x50]
|
|
orr r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x50]
|
|
_021F47F0:
|
|
ldr r0, [sp, #0x40]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021F4704
|
|
_021F47F8:
|
|
ldr r0, [sp, #0x38]
|
|
cmp r0, #6
|
|
beq _021F48C0
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r7, #0
|
|
bl MOD11_02230014
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
_021F480E:
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r4, #0
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x3c]
|
|
ldr r3, [sp, #0x3c]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MOD16_021F3454
|
|
str r0, [sp, #0x6c]
|
|
ldr r0, [sp, #0x3c]
|
|
cmp r0, #0
|
|
beq _021F4898
|
|
mov r0, #0
|
|
str r0, [sp, #0x90]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
str r0, [sp, #0x70]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02246D1C
|
|
str r0, [sp, #0x74]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02249D90
|
|
str r0, [sp, #0x78]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
str r0, [sp, #0x7c]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl MOD11_02243420
|
|
ldr r1, [sp, #0x74]
|
|
ldr r2, [sp, #0x6c]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x78]
|
|
ldr r3, [sp, #0x70]
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp, #0x7c]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x90
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x3c]
|
|
add r0, r5, #0
|
|
bl MOD11_022465A0
|
|
ldr r1, [sp, #0x90]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _021F48A2
|
|
_021F4898:
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #4
|
|
blt _021F480E
|
|
_021F48A2:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #4
|
|
bne _021F48BA
|
|
ldr r0, [sp, #0x38]
|
|
bl MaskOfFlagNo
|
|
ldr r1, [sp, #0x50]
|
|
orr r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x50]
|
|
b _021F48C4
|
|
_021F48BA:
|
|
ldr r0, [sp, #0x38]
|
|
add sp, #0x94
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F48C0:
|
|
mov r0, #0x3f
|
|
str r0, [sp, #0x50]
|
|
_021F48C4:
|
|
ldr r0, [sp, #0x50]
|
|
cmp r0, #0x3f
|
|
beq _021F48CC
|
|
b _021F46F4
|
|
_021F48CC:
|
|
mov r0, #0
|
|
str r0, [sp, #0x28]
|
|
mov r0, #6
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x40]
|
|
cmp r0, #0
|
|
bgt _021F48E0
|
|
b _021F4A14
|
|
_021F48E0:
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x24]
|
|
add r0, r7, #0
|
|
bl MOD11_02230014
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
str r0, [sp, #0x1c]
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
beq _021F4900
|
|
ldr r0, _021F4A1C ; =0x000001EE
|
|
cmp r1, r0
|
|
bne _021F4902
|
|
_021F4900:
|
|
b _021F4A06
|
|
_021F4902:
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F4A06
|
|
ldr r0, _021F4A20 ; =0x0000219C
|
|
ldr r1, [sp, #0x34]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x24]
|
|
cmp r1, r2
|
|
beq _021F4A06
|
|
ldr r1, [sp, #0x30]
|
|
ldrb r2, [r1, r0]
|
|
ldr r1, [sp, #0x24]
|
|
cmp r1, r2
|
|
beq _021F4A06
|
|
add r2, r0, #0
|
|
ldr r1, [sp, #0x34]
|
|
add r2, #8
|
|
ldrb r2, [r1, r2]
|
|
ldr r1, [sp, #0x24]
|
|
cmp r1, r2
|
|
beq _021F4A06
|
|
ldr r1, [sp, #0x30]
|
|
add r0, #8
|
|
ldrb r1, [r1, r0]
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, r1
|
|
beq _021F4A06
|
|
mov r0, #0
|
|
str r0, [sp, #0x64]
|
|
ldr r0, [sp, #0x18]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x84]
|
|
ldr r0, [sp, #0x24]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x88]
|
|
_021F4954:
|
|
ldr r1, [sp, #0x64]
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x8c]
|
|
ldr r2, [sp, #0x1c]
|
|
ldr r3, [sp, #0x8c]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD16_021F3454
|
|
str r0, [sp, #0x80]
|
|
ldr r0, [sp, #0x8c]
|
|
cmp r0, #0
|
|
beq _021F49EE
|
|
lsl r0, r0, #4
|
|
add r1, r5, r0
|
|
ldr r0, _021F4A28 ; =0x000003E1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #1
|
|
beq _021F49EE
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD11_02230270
|
|
add r3, r0, #0
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #2
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x84]
|
|
add r4, r5, r3
|
|
str r0, [sp, #0xc]
|
|
mov r3, #0x6f
|
|
str r6, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x14]
|
|
lsl r3, r3, #2
|
|
ldr r2, [sp, #0x8c]
|
|
ldr r3, [r4, r3]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD11_0224B310
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
mov r0, #0
|
|
str r0, [sp, #0x90]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [sp, #0x80]
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, sp, #0x90
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x8c]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl MOD11_02246274
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x4c]
|
|
ldr r1, [sp, #0x90]
|
|
ldr r0, _021F4A2C ; =0x00140808
|
|
tst r0, r1
|
|
beq _021F49EE
|
|
mov r0, #0
|
|
str r0, [sp, #0x4c]
|
|
_021F49EE:
|
|
ldr r1, [sp, #0x28]
|
|
ldr r0, [sp, #0x4c]
|
|
cmp r1, r0
|
|
bhs _021F49FC
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x88]
|
|
str r0, [sp, #0x2c]
|
|
_021F49FC:
|
|
ldr r0, [sp, #0x64]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x64]
|
|
cmp r0, #4
|
|
blt _021F4954
|
|
_021F4A06:
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x40]
|
|
str r1, [sp, #0x24]
|
|
cmp r1, r0
|
|
bge _021F4A14
|
|
b _021F48E0
|
|
_021F4A14:
|
|
ldr r0, [sp, #0x2c]
|
|
add sp, #0x94
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F4A1C: .word 0x000001EE
|
|
_021F4A20: .word 0x0000219C
|
|
_021F4A24: .word 0x000021A4
|
|
_021F4A28: .word 0x000003E1
|
|
_021F4A2C: .word 0x00140808
|
|
thumb_func_end MOD16_021F4698
|
|
|
|
thumb_func_start MOD16_021F4A30
|
|
MOD16_021F4A30: ; 0x021F4A30
|
|
ldr r0, [r0, #0x30]
|
|
add r1, r0, r1
|
|
ldr r0, _021F4A3C ; =0x000021A4
|
|
ldrb r0, [r1, r0]
|
|
bx lr
|
|
nop
|
|
_021F4A3C: .word 0x000021A4
|
|
thumb_func_end MOD16_021F4A30
|
|
|
|
thumb_func_start MOD16_021F4A40
|
|
MOD16_021F4A40: ; 0x021F4A40
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
mov r2, #0
|
|
str r2, [sp, #0x14]
|
|
add r2, r1, #0
|
|
asr r2, r2, #1
|
|
ldr r4, [r5, #0x30]
|
|
str r2, [sp, #0xc]
|
|
add r6, r4, r2
|
|
ldr r2, [sp, #0x14]
|
|
ldr r3, _021F4D6C ; =0x000003D3
|
|
str r2, [sp, #0x1c]
|
|
strb r2, [r6, r3]
|
|
ldr r3, [r5, #0x2c]
|
|
mov r2, #0x4b
|
|
and r2, r3
|
|
str r1, [sp]
|
|
cmp r2, #0x4b
|
|
bne _021F4A76
|
|
bl MOD11_02230260
|
|
cmp r0, #4
|
|
bne _021F4A76
|
|
add sp, #0x20
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4A76:
|
|
ldr r0, [sp]
|
|
mov r1, #0xc0
|
|
mul r1, r0
|
|
mov r0, #0xb7
|
|
str r1, [sp, #8]
|
|
add r1, r4, r1
|
|
lsl r0, r0, #6
|
|
ldr r1, [r1, r0]
|
|
mov r0, #1
|
|
lsl r0, r0, #0x1a
|
|
tst r0, r1
|
|
beq _021F4A94
|
|
add sp, #0x20
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4A94:
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD11_0222FF88
|
|
add r7, r0, #0
|
|
mov r5, #0
|
|
bl FUN_0206B9AC
|
|
cmp r0, #0
|
|
ble _021F4AF2
|
|
_021F4AA8:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl FUN_0206B9B0
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r6, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F4AE6
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _021F4AE6
|
|
add r0, r6, #0
|
|
mov r1, #0xad
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _021F4D70 ; =0x000001EE
|
|
cmp r0, r1
|
|
beq _021F4AE6
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
_021F4AE6:
|
|
add r0, r7, #0
|
|
add r5, r5, #1
|
|
bl FUN_0206B9AC
|
|
cmp r5, r0
|
|
blt _021F4AA8
|
|
_021F4AF2:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #1
|
|
lsl r0, r0, #3
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r4, r0
|
|
ldr r0, [sp, #8]
|
|
add r7, r4, r0
|
|
ldr r0, [sp]
|
|
bic r0, r1
|
|
str r0, [sp]
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x10]
|
|
_021F4B12:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _021F4B28
|
|
ldr r0, _021F4D74 ; =0x000003CD
|
|
ldrb r1, [r5, r0]
|
|
ldr r0, [sp, #4]
|
|
sub r0, r1, r0
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, r1
|
|
bgt _021F4B34
|
|
_021F4B28:
|
|
mov r0, #0xe7
|
|
ldr r1, [sp, #0x18]
|
|
lsl r0, r0, #2
|
|
ldrh r6, [r1, r0]
|
|
cmp r6, #0
|
|
bne _021F4B36
|
|
_021F4B34:
|
|
b _021F4E0E
|
|
_021F4B36:
|
|
cmp r6, #0x17
|
|
bne _021F4B58
|
|
ldr r1, _021F4D78 ; =0x00002D90
|
|
ldr r0, _021F4D7C ; =0x00002D8C
|
|
ldr r1, [r7, r1]
|
|
ldr r0, [r7, r0]
|
|
lsr r1, r1, #2
|
|
cmp r0, r1
|
|
bhs _021F4BB2
|
|
cmp r0, #0
|
|
beq _021F4BB2
|
|
ldr r0, _021F4D80 ; =0x000003D1
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4B58:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x26
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4B9A
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x36
|
|
bl MOD11_0224C12C
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
beq _021F4BB2
|
|
ldr r0, _021F4D7C ; =0x00002D8C
|
|
ldr r1, [r7, r0]
|
|
cmp r1, #0
|
|
beq _021F4BB2
|
|
add r0, r0, #4
|
|
ldr r3, [r7, r0]
|
|
lsr r0, r3, #2
|
|
cmp r1, r0
|
|
blo _021F4B8E
|
|
sub r0, r3, r1
|
|
cmp r0, r2
|
|
bls _021F4BB2
|
|
_021F4B8E:
|
|
ldr r0, _021F4D80 ; =0x000003D1
|
|
mov r1, #1
|
|
strb r1, [r5, r0]
|
|
add r0, r1, #0
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4B9A:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0xf
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4BD0
|
|
ldr r0, _021F4D84 ; =0x00002DAC
|
|
ldr r1, [r7, r0]
|
|
mov r0, #7
|
|
tst r0, r1
|
|
bne _021F4BB4
|
|
_021F4BB2:
|
|
b _021F4DFA
|
|
_021F4BB4:
|
|
mov r0, #5
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F4D6C ; =0x000003D3
|
|
ldrb r1, [r5, r1]
|
|
orr r1, r0
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4BD0:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x10
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4C0A
|
|
ldr r0, _021F4D84 ; =0x00002DAC
|
|
mov r1, #8
|
|
ldr r0, [r7, r0]
|
|
tst r1, r0
|
|
bne _021F4BEE
|
|
mov r1, #0x80
|
|
tst r0, r1
|
|
beq _021F4CBE
|
|
_021F4BEE:
|
|
mov r0, #4
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F4D6C ; =0x000003D3
|
|
ldrb r1, [r5, r1]
|
|
orr r1, r0
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4C0A:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x11
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4C3E
|
|
ldr r0, _021F4D84 ; =0x00002DAC
|
|
ldr r1, [r7, r0]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021F4CBE
|
|
mov r0, #3
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F4D6C ; =0x000003D3
|
|
ldrb r1, [r5, r1]
|
|
orr r1, r0
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4C3E:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x12
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4C72
|
|
ldr r0, _021F4D84 ; =0x00002DAC
|
|
ldr r1, [r7, r0]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021F4CBE
|
|
mov r0, #2
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F4D6C ; =0x000003D3
|
|
ldrb r1, [r5, r1]
|
|
orr r1, r0
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4C72:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x13
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4CA6
|
|
ldr r0, _021F4D84 ; =0x00002DAC
|
|
ldr r1, [r7, r0]
|
|
mov r0, #0x40
|
|
tst r0, r1
|
|
beq _021F4CBE
|
|
mov r0, #1
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F4D6C ; =0x000003D3
|
|
ldrb r1, [r5, r1]
|
|
orr r1, r0
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4CA6:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x14
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4CDC
|
|
ldr r0, _021F4D88 ; =0x00002DB0
|
|
ldr r1, [r7, r0]
|
|
mov r0, #7
|
|
tst r0, r1
|
|
bne _021F4CC0
|
|
_021F4CBE:
|
|
b _021F4DFA
|
|
_021F4CC0:
|
|
mov r0, #0
|
|
bl MaskOfFlagNo
|
|
ldr r1, _021F4D6C ; =0x000003D3
|
|
ldrb r1, [r5, r1]
|
|
orr r1, r0
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4CDC:
|
|
ldr r0, _021F4D8C ; =0x00002DD4
|
|
ldr r1, [r7, r0]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
sub r0, r1, r0
|
|
bpl _021F4CEC
|
|
b _021F4DF4
|
|
_021F4CEC:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1b
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4D0C
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
mov r1, #1
|
|
strb r1, [r5, r0]
|
|
mov r1, #3
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4D0C:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1c
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4D2C
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
mov r1, #2
|
|
strb r1, [r5, r0]
|
|
mov r1, #3
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4D2C:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1d
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4D4C
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
mov r1, #4
|
|
strb r1, [r5, r0]
|
|
mov r1, #3
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4D4C:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1e
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4D90
|
|
ldr r0, _021F4D6C ; =0x000003D3
|
|
mov r1, #5
|
|
strb r1, [r5, r0]
|
|
mov r1, #3
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
.align 2, 0
|
|
_021F4D6C: .word 0x000003D3
|
|
_021F4D70: .word 0x000001EE
|
|
_021F4D74: .word 0x000003CD
|
|
_021F4D78: .word 0x00002D90
|
|
_021F4D7C: .word 0x00002D8C
|
|
_021F4D80: .word 0x000003D1
|
|
_021F4D84: .word 0x00002DAC
|
|
_021F4D88: .word 0x00002DB0
|
|
_021F4D8C: .word 0x00002DD4
|
|
_021F4D90:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x1f
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4DAE
|
|
ldr r0, _021F4E28 ; =0x000003D3
|
|
mov r1, #3
|
|
strb r1, [r5, r0]
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4DAE:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x20
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4DCE
|
|
ldr r0, _021F4E28 ; =0x000003D3
|
|
mov r1, #6
|
|
strb r1, [r5, r0]
|
|
mov r1, #3
|
|
sub r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4DCE:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x16
|
|
bl MOD11_0224C12C
|
|
cmp r0, #0
|
|
beq _021F4DFA
|
|
mov r0, #7
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0x40
|
|
tst r0, r1
|
|
bne _021F4DFA
|
|
ldr r0, _021F4E2C ; =0x000003D1
|
|
mov r1, #4
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
str r0, [sp, #0x1c]
|
|
b _021F4DFA
|
|
_021F4DF4:
|
|
ldr r0, _021F4E2C ; =0x000003D1
|
|
mov r1, #5
|
|
strb r1, [r5, r0]
|
|
_021F4DFA:
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #1
|
|
bne _021F4E0E
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, _021F4E30 ; =0x000003D6
|
|
mov r2, #0
|
|
strh r6, [r1, r0]
|
|
ldr r1, [sp, #0x18]
|
|
sub r0, #0x3a
|
|
strh r2, [r1, r0]
|
|
_021F4E0E:
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #4
|
|
bge _021F4E20
|
|
b _021F4B12
|
|
_021F4E20:
|
|
ldr r0, [sp, #0x1c]
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F4E28: .word 0x000003D3
|
|
_021F4E2C: .word 0x000003D1
|
|
_021F4E30: .word 0x000003D6
|
|
thumb_func_end MOD16_021F4A40
|
|
|
|
.section .rodata
|
|
; 0x021F4E34
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x99, 0x20, 0x00, 0x00, 0xF2, 0x09, 0x00, 0x00, 0xD8, 0x20, 0x00, 0x00
|
|
.byte 0x33, 0x21, 0x00, 0x00, 0x26, 0x21, 0x00, 0x00, 0x59, 0x21, 0x00, 0x00, 0xBC, 0x21, 0x00, 0x00
|
|
.byte 0xC0, 0x27, 0x00, 0x00, 0xDC, 0x28, 0x00, 0x00, 0x0E, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00
|
|
.byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00
|
|
.byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00
|
|
.byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00
|
|
.byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00
|
|
.byte 0x64, 0x29, 0x00, 0x00, 0x3D, 0x29, 0x00, 0x00, 0x56, 0x29, 0x00, 0x00, 0x5A, 0x29, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0x42, 0x29, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x09, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x8A, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x83, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x7C, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x72, 0x09, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x09, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x66, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x4F, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x4C, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x49, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x46, 0x09, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x43, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0xAD, 0x00, 0x00, 0x00, 0x40, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3F, 0x01, 0x00, 0x00, 0x3A, 0x09, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x37, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x95, 0x01, 0x00, 0x00, 0x34, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00
|
|
.byte 0x31, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC6, 0x01, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xD4, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xF9, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x2F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x4B, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x61, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x77, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x91, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x99, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xAA, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xBF, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x6E, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0F, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x5C, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x59, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x56, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x69, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6B, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x6D, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0xBF, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xCD, 0x01, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0xDE, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0xEC, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0xFA, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x3B, 0x00, 0x00, 0x00, 0x2F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x59, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x4E, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0xCB, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x43, 0x00, 0x00, 0x00, 0x4D, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00
|
|
.byte 0x70, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x73, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x05, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0x7D, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00
|
|
.byte 0x7F, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x81, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x79, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x63, 0x00, 0x00, 0x00, 0xF6, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00
|
|
.byte 0x87, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x3D, 0x01, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xC5, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x6D, 0x00, 0x00, 0x00, 0x83, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00
|
|
.byte 0xAF, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xB8, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xBA, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x73, 0x00, 0x00, 0x00, 0xBC, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00
|
|
.byte 0xFB, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xBB, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0xD5, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x7A, 0x00, 0x00, 0x00, 0xD2, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00
|
|
.byte 0xCF, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xD1, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xC1, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x7F, 0x00, 0x00, 0x00, 0xED, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00
|
|
.byte 0xC3, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x67, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x86, 0x00, 0x00, 0x00, 0x61, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00
|
|
.byte 0xB7, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xE1, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0xF4, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x8E, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00
|
|
.byte 0xF9, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xA8, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0xA5, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x94, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x9E, 0x00, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xA4, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA4, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x16, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xA8, 0x00, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0x7B, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x28, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x2A, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xB5, 0x00, 0x00, 0x00, 0x32, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00
|
|
.byte 0x6F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x31, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xBC, 0x00, 0x00, 0x00, 0x1B, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00
|
|
.byte 0x63, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x2B, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0x31, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xC4, 0x00, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00
|
|
.byte 0x30, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0x32, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0x47, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xD0, 0x00, 0x00, 0x00, 0x5F, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00
|
|
.byte 0x77, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0x79, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x91, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xD5, 0x00, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00
|
|
.byte 0xE6, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0xAB, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xDB, 0x00, 0x00, 0x00, 0x36, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00
|
|
.byte 0xAB, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0xB9, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xE2, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00
|
|
.byte 0x4F, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x65, 0x05, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x70, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xEA, 0x00, 0x00, 0x00, 0x2E, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00
|
|
.byte 0x1B, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x7E, 0x06, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x15, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xEE, 0x00, 0x00, 0x00, 0x7D, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00
|
|
.byte 0x7F, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x98, 0x06, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x9A, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xF3, 0x00, 0x00, 0x00, 0x9F, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00
|
|
.byte 0xAB, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00, 0xB4, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xF7, 0x00, 0x00, 0x00, 0xB7, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00
|
|
.byte 0xD1, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x42, 0x01, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xD8, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xFC, 0x00, 0x00, 0x00, 0xDA, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00
|
|
.byte 0xEB, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0D, 0x07, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x11, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x01, 0x00, 0x00, 0x3C, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00
|
|
.byte 0x43, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x64, 0x07, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x5B, 0x07, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x48, 0x00, 0x00, 0x00, 0x58, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x54, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4A, 0x07, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2C, 0x07, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08
|
|
.byte 0x39, 0x07, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x30, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x28, 0x07, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x28, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x23, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xFE, 0x06, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xF4, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xEE, 0x06, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xE3, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0xDD, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xD2, 0x06, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0xCC, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xC6, 0x06, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0xC1, 0x06, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xB9, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xB3, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0xAD, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x63, 0x00, 0x00, 0x00, 0xA8, 0x06, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xA0, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x9A, 0x06, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x94, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x8F, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x48, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x88, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x83, 0x06, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x06, 0x00, 0x00
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x78, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x71, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x06, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x5E, 0x06, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x59, 0x06, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x56, 0x06, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x4A, 0x06, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0x45, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0xF4, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x05, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0xE4, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xF8, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xD7, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xD4, 0x05, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xCF, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xCC, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0xC4, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0xC1, 0x05, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBA, 0x05, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0xB1, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0xAD, 0x05, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xA9, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0xA1, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xA0, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x96, 0x05, 0x00, 0x00
|
|
.byte 0x4E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x93, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x8A, 0x05, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x75, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x6D, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x6B, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5D, 0x05, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x61, 0x05, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x55, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x54, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4F, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x4C, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x3A, 0x05, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x36, 0x05, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0x05, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
|
|
.byte 0x2A, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x24, 0x05, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x05, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x05, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x63, 0x00, 0x00, 0x00, 0xFC, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xF7, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xF2, 0x04, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xDD, 0x04, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xD8, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xD2, 0x04, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0xCA, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x10, 0xC8, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xC3, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xB2, 0x04, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0xAD, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xA3, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x9E, 0x04, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x94, 0x04, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x8D, 0x04, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x86, 0x04, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x7E, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x76, 0x04, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x73, 0x04, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x04, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x66, 0x04, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x04, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x49, 0x04, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x45, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x33, 0x04, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2D, 0x04, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x04, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x04, 0x00, 0x00
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x2B, 0xFE, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x73, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF6, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0xED, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0xE9, 0x03, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0xE4, 0x03, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xDB, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x45, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xD6, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0xD0, 0x03, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xC6, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xBB, 0x03, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xB7, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xB2, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0xAD, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0xA2, 0x03, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x9F, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x03, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x92, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x8A, 0x03, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x85, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x7F, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x77, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6F, 0x03, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6A, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x64, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x5C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5A, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x03, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4A, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x3B, 0x03, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x03, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x2C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x26, 0x03, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x10, 0x1C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x70, 0x00, 0x00, 0x18, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x13, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xEC, 0xFF, 0xFF, 0xFF, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x03, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xF9, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00
|
|
.byte 0x97, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00
|
|
.byte 0x9B, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00
|
|
.byte 0x9F, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00
|
|
.byte 0xA3, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00
|
|
.byte 0xA7, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0xAB, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00
|
|
.byte 0xAF, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00
|
|
.byte 0xB3, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00
|
|
.byte 0xB7, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00
|
|
.byte 0xBB, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00
|
|
.byte 0xBF, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00
|
|
.byte 0xC3, 0x00, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00
|
|
.byte 0xC7, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00
|
|
.byte 0xCB, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00
|
|
.byte 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x07, 0x00, 0xB4, 0x02, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0xB0, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0xA5, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x9B, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x96, 0x02, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x91, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x8C, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x81, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x7C, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x77, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x72, 0x02, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x6D, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x68, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x63, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x00
|
|
.byte 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x56, 0x02, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x02, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04
|
|
.byte 0x45, 0x02, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x33, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x2E, 0x02, 0x00, 0x00
|
|
.byte 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xEC, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0xE8, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xE3, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xE0, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xDB, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xD8, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x67, 0x00, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0xD0, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0xCD, 0x01, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xCA, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x3E, 0x00, 0x00, 0x00, 0xC7, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xA5, 0x01, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xA1, 0x01, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x9C, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x97, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x92, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x8F, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x8C, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7E, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x79, 0x01, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x72, 0x01, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6E, 0x01, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x88, 0x0F, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5B, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x01, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4E, 0x01, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4B, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x34, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x02, 0x20, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x1B, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x16, 0x01, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x0B, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0xC5, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xF6, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x04, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xA5, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x95, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x1B, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xEC, 0xFF, 0xFF, 0xFF, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xF8, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x1F, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x63, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x79, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0xC0, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0xE0, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x7E, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xEB, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x4D, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x57, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x96, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x77, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x7B, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xB1, 0x05, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xCA, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0xF9, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3B, 0x06, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x6E, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x27, 0x00, 0x00, 0x00, 0xA2, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x6E, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x72, 0x06, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x30, 0x00, 0x00, 0x00, 0xF2, 0x15, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0xA2, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x86, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x00, 0x00, 0x00, 0xC0, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00
|
|
.byte 0xCA, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0xEA, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x24, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x00, 0x00, 0x32, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00
|
|
.byte 0xAF, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0xDA, 0x03, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xF6, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
|
|
.byte 0x2D, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x99, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0x00, 0x00, 0x00, 0x9D, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00
|
|
.byte 0xBF, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0xC7, 0x06, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x63, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0xD1, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0xCC, 0x06, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0xDD, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x31, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00
|
|
.byte 0x96, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x50, 0x07, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0xBE, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x3C, 0x08, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x3C, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x61, 0x00, 0x00, 0x00, 0x3F, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x43, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x61, 0x08, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x85, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x69, 0x00, 0x00, 0x00, 0x8D, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00
|
|
.byte 0xFD, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xD8, 0x02, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xAD, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x6F, 0x00, 0x00, 0x00, 0xEA, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00
|
|
.byte 0x5C, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x6E, 0x09, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x87, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x7F, 0x00, 0x00, 0x00, 0x96, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0xED, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x17, 0x05, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x14, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x86, 0x00, 0x00, 0x00, 0x11, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x33, 0x0A, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x53, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x8F, 0x00, 0x00, 0x00, 0x59, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00
|
|
.byte 0x97, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0xF4, 0x0A, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0xF1, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x97, 0x00, 0x00, 0x00, 0x1D, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x92, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xA1, 0x00, 0x00, 0x00, 0x92, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00
|
|
.byte 0xF8, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x97, 0x0B, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xE3, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xA8, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00
|
|
.byte 0xB2, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0xB6, 0x0B, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00, 0xE2, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xB1, 0x00, 0x00, 0x00, 0xE8, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0x42, 0x0D, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x40, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xB7, 0x00, 0x00, 0x00, 0x5B, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00
|
|
.byte 0x76, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00, 0x99, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xBC, 0x00, 0x00, 0x00, 0xA3, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00
|
|
.byte 0xAF, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xC6, 0x0D, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0xF9, 0x0C, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xC0, 0x00, 0x00, 0x00, 0xD9, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00
|
|
.byte 0xE1, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0xE7, 0x0D, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0xF9, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xC8, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x2C, 0x0E, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xF3, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xCE, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00
|
|
.byte 0x84, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0x76, 0x05, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0x36, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xD3, 0x00, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00
|
|
.byte 0x47, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x95, 0x04, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0x55, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xD8, 0x00, 0x00, 0x00, 0x74, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD9, 0x00, 0x00, 0x00
|
|
.byte 0x8C, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDA, 0x00, 0x00, 0x00, 0x9F, 0x0E, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0xB0, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xDC, 0x00, 0x00, 0x00, 0xDC, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00
|
|
.byte 0xAB, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xC1, 0x0E, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xE1, 0x00, 0x00, 0x00, 0x26, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00
|
|
.byte 0x3B, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x4D, 0x0F, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00, 0x92, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xE5, 0x00, 0x00, 0x00, 0xD4, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00
|
|
.byte 0xEA, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x25, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xE9, 0x00, 0x00, 0x00, 0x28, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00
|
|
.byte 0x68, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, 0x73, 0x10, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0xB3, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xED, 0x00, 0x00, 0x00, 0xFB, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00, 0x41, 0x11, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x59, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xF1, 0x00, 0x00, 0x00, 0x72, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00
|
|
.byte 0x90, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00, 0xE6, 0x11, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x50, 0x12, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xF5, 0x00, 0x00, 0x00, 0xBA, 0x12, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00
|
|
.byte 0xE8, 0x12, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, 0xFA, 0x12, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x0E, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xF9, 0x00, 0x00, 0x00, 0x1E, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00
|
|
.byte 0x30, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x76, 0x13, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7D, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xFD, 0x00, 0x00, 0x00, 0x66, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4D, 0x0A, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x99, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x01, 0x00, 0x00, 0xEA, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00
|
|
.byte 0x01, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x54, 0x14, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x3E, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x01, 0x00, 0x00, 0x10, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x00
|
|
.byte 0x34, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x00, 0x00, 0x48, 0x14, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x5B, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x01, 0x00, 0x00, 0x3B, 0x0A, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x85, 0xFD, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00
|
|
.byte 0x93, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00
|
|
.byte 0x45, 0x01, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00
|
|
.byte 0xEE, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00
|
|
.byte 0x67, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00
|
|
.byte 0x3F, 0x01, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0xF7, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00
|
|
.byte 0xA8, 0x00, 0x00, 0x00, 0x57, 0x01, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00
|
|
.byte 0x1D, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00
|
|
.byte 0x85, 0x01, 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x9F, 0x01, 0x00, 0x00, 0xBD, 0x01, 0x00, 0x00
|
|
.byte 0xD0, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xC8, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0xC4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3D, 0x01, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x2A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x2A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xC8, 0x00, 0x00, 0x00, 0xD1, 0xF9, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xC3, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x1B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x10, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0F, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xF4, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xB4, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x43, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00
|
|
.byte 0x55, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00
|
|
.byte 0x6F, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00
|
|
.byte 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00
|
|
.byte 0x7C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00
|
|
.byte 0x8F, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00
|
|
.byte 0xA1, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00
|
|
.byte 0xA7, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00
|
|
.byte 0xB2, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00
|
|
.byte 0xBF, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00
|
|
.byte 0xC7, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00
|
|
.byte 0xD5, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00
|
|
.byte 0xDE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00
|
|
.byte 0xE9, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00
|
|
.byte 0xEF, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00
|
|
.byte 0xF7, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0xF2, 0xF6, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4A, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x4A, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x45, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x71, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x7A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00
|
|
.byte 0xCF, 0xFF, 0xFF, 0xFF, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x27, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0xF3, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0xFD, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00
|
|
.byte 0x69, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00
|
|
.byte 0xEE, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xC3, 0xFF, 0xFF, 0xFF
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xBA, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB7, 0xFF, 0xFF, 0xFF
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0xB2, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0xAA, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xA7, 0xFF, 0xFF, 0xFF
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x67, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x98, 0xFF, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x59, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x75, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x72, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x21, 0xF2, 0xFF, 0xFF
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x6B, 0xFF, 0xFF, 0xFF
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xFF, 0xFF
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x5D, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x54, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x37, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x36, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00
|
|
.byte 0x69, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00
|
|
.byte 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00
|
|
.byte 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x64, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x7C, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00
|
|
.byte 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00
|
|
.byte 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00
|
|
.byte 0x6A, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00
|
|
.byte 0x76, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00
|
|
.byte 0x63, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x5B, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00
|
|
.byte 0x6D, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00
|
|
.byte 0x78, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x96, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x10, 0x19, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x18, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00
|
|
.byte 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x2D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x4F, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0xC1, 0xED, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x3A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x5B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xD6, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x9D, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x84, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xA2, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xB5, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFB, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x54, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xDC, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x01, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x55, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xE4, 0xEC, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x60, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00
|
|
.byte 0x93, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00
|
|
.byte 0x45, 0x01, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00
|
|
.byte 0xEE, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00
|
|
.byte 0x67, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00
|
|
.byte 0x3F, 0x01, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0xF7, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00
|
|
.byte 0xA8, 0x00, 0x00, 0x00, 0x57, 0x01, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00
|
|
.byte 0x1D, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00
|
|
.byte 0x85, 0x01, 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x9F, 0x01, 0x00, 0x00, 0xBD, 0x01, 0x00, 0x00
|
|
.byte 0xD0, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00
|
|
.byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x27, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x9C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x45, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x45, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x63, 0xE9, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xC9, 0x08, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0xE9, 0xFF, 0xFF, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0xA0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xF8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0x8A, 0x08, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00
|
|
.byte 0x4F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00
|
|
.byte 0x76, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00
|
|
.byte 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00
|
|
.byte 0xC0, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00
|
|
.byte 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00
|
|
.byte 0xE2, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00
|
|
.byte 0x05, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x00, 0x00, 0x00, 0x3C, 0x08, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x08, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00
|
|
.byte 0x8C, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00
|
|
.byte 0xB9, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00
|
|
.byte 0xE3, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x00, 0x00, 0x00, 0x09, 0x08, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0xFF, 0xFF
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x5B, 0x01, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xA1, 0x01, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0xE2, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0xBD, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE8, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x4F, 0xE8, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0xE8, 0xFF, 0xFF, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x39, 0xE8, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x1D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xE8, 0xFF, 0xFF
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x48, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x40, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x38, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x39, 0xE8, 0xFF, 0xFF
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x31, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x29, 0xE8, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0xF2, 0x03, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x2D, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x1D, 0x01, 0x00, 0x00, 0xAE, 0x02, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x35, 0x02, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0xF8, 0x00, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00
|
|
.byte 0x56, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x01, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00
|
|
.byte 0xC8, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x4E, 0x01, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x01, 0x00, 0x00, 0x93, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0xAC, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x1B, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0xE7, 0x02, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00
|
|
.byte 0xE3, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x66, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x70, 0x00, 0x00, 0x77, 0x04, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0xE6, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0xE6, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0xE6, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1A, 0xE6, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0xE6, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE6, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0xD3, 0xE5, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xE5, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0xE5, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0xE5, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08
|
|
.byte 0x71, 0xE5, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6B, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x65, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x53, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0xE5, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x33, 0xE5, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x3B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x20, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0xE5, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0xE5, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xE4, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF6, 0xE4, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xEC, 0xE4, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x02, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xFC, 0xE4, 0xFF, 0xFF
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xF9, 0xE4, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xEE, 0xE4, 0xFF, 0xFF
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0xEB, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00, 0xE8, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
.byte 0xE5, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xE2, 0xE4, 0xFF, 0xFF
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0xDF, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x7A, 0x00, 0x00, 0x00, 0xDC, 0xE4, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0xB3, 0x01, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x52, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xB4, 0xE4, 0xFF, 0xFF, 0x17, 0x00, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xB8, 0xE4, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB2, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x9D, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x97, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xA0, 0xE4, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x7D, 0xE4, 0xFF, 0xFF, 0x17, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0xE4, 0xFF, 0xFF
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x7B, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x66, 0xE4, 0xFF, 0xFF
|
|
.byte 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x60, 0xE4, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0xB4, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F, 0xE4, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x54, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x2D, 0xE4, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x6A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x76, 0x01, 0x00, 0x00, 0x7E, 0x01, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x18, 0xE4, 0xFF, 0xFF
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF
|
|
.byte 0x54, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0xE4, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xE3, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xA0, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xDB, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0xFC, 0xE3, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0xE9, 0xE3, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0xE7, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xE2, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xDD, 0xE3, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0xA9, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0xB9, 0xE3, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0xB7, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xB2, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xAD, 0xE3, 0xFF, 0xFF
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00
|
|
.byte 0x84, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00
|
|
.byte 0xCC, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x9F, 0x01, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x7C, 0x01, 0x00, 0x00
|
|
.byte 0xE8, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x6F, 0x01, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x88, 0xE3, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x70, 0x00, 0x00, 0x00, 0x85, 0xE3, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x30, 0x01, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00
|
|
.byte 0x2A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x9B, 0x01, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB9, 0x01, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xCF, 0x01, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB6, 0x01, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xD1, 0x01, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC9, 0x01, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0xE3, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF9, 0xFE, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xE8, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0xE4, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xDA, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0xFB, 0xE2, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xD4, 0xFE, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCE, 0xFE, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0xB4, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0xCF, 0xE2, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xBF, 0xE2, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x99, 0xE2, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x9C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x9D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00
|
|
.byte 0x74, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x50, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4B, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0xE2, 0xFF, 0xFF
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x3C, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x37, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0xE2, 0xFF, 0xFF
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0xEE, 0xFD, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x6F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00
|
|
.byte 0xA8, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00
|
|
.byte 0xCE, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00
|
|
.byte 0xF0, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00
|
|
.byte 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00
|
|
.byte 0x5E, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00
|
|
.byte 0x90, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00
|
|
.byte 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00
|
|
.byte 0xD2, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00
|
|
.byte 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00
|
|
.byte 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00
|
|
.byte 0xD4, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00
|
|
.byte 0x76, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00
|
|
.byte 0x8F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00
|
|
.byte 0xCE, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00
|
|
.byte 0xE2, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x51, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0xA4, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
.byte 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00
|
|
.byte 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00
|
|
.byte 0xBB, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00
|
|
.byte 0xC7, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00
|
|
.byte 0xEA, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00
|
|
.byte 0x4D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0xDC, 0x1D, 0x02, 0x29, 0xFA, 0x1D, 0x02, 0x39, 0x7B, 0x1E, 0x02
|
|
.byte 0x41, 0x95, 0x1E, 0x02, 0x35, 0x42, 0x1E, 0x02, 0x99, 0xAE, 0x1E, 0x02, 0xDD, 0xCA, 0x1E, 0x02
|
|
.byte 0x55, 0xE6, 0x1E, 0x02, 0x8D, 0xDC, 0x1D, 0x02, 0x89, 0xFA, 0x1D, 0x02, 0x99, 0x7B, 0x1E, 0x02
|
|
.byte 0xA1, 0x95, 0x1E, 0x02, 0x95, 0x42, 0x1E, 0x02, 0xF9, 0xAE, 0x1E, 0x02, 0x3D, 0xCB, 0x1E, 0x02
|
|
.byte 0xB5, 0xE6, 0x1E, 0x02, 0x69, 0xC0, 0x1D, 0x02, 0x2D, 0xEB, 0x1D, 0x02, 0x4D, 0x4B, 0x1E, 0x02
|
|
.byte 0xF1, 0x5B, 0x1E, 0x02, 0x7D, 0x6E, 0x1E, 0x02, 0xF1, 0x8B, 0x1E, 0x02, 0xC5, 0x2E, 0x1E, 0x02
|
|
.byte 0xF1, 0xA1, 0x1E, 0x02, 0xFD, 0xC1, 0x1E, 0x02, 0x5D, 0xD5, 0x1E, 0x02, 0xCD, 0xC0, 0x1D, 0x02
|
|
.byte 0x8D, 0xEB, 0x1D, 0x02, 0xA5, 0x4B, 0x1E, 0x02, 0x49, 0x5C, 0x1E, 0x02, 0xD5, 0x6E, 0x1E, 0x02
|
|
.byte 0x51, 0x8C, 0x1E, 0x02, 0x1D, 0x2F, 0x1E, 0x02, 0x49, 0xA2, 0x1E, 0x02, 0x5D, 0xC2, 0x1E, 0x02
|
|
.byte 0xB5, 0xD5, 0x1E, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x02
|
|
.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, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x05, 0x00, 0x03, 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, 0x01, 0x03, 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, 0x00, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x04, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x95, 0x0C, 0x02, 0x80, 0x94, 0x0C, 0x02, 0x90, 0x8A, 0x0C, 0x02
|
|
.byte 0x48, 0x89, 0x0C, 0x02, 0xE8, 0x94, 0x0C, 0x02, 0x18, 0x94, 0x0C, 0x02, 0x58, 0x88, 0x0C, 0x02
|
|
.byte 0x74, 0x87, 0x0C, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x0B, 0x00
|
|
.byte 0x00, 0x90, 0x0B, 0x00, 0x00, 0x50, 0x0B, 0x00, 0x00, 0x10, 0x0B, 0x00, 0x00, 0xF0, 0x0A, 0x00
|
|
.byte 0x00, 0xA0, 0x0A, 0x00, 0x00, 0xF0, 0x0A, 0x00, 0x00, 0x10, 0x0B, 0x00, 0x00, 0x50, 0x0B, 0x00
|
|
.byte 0x00, 0x90, 0x0B, 0x00, 0x09, 0x40, 0x0B, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00
|
|
.byte 0x00, 0xA0, 0x01, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00, 0xA0, 0x03, 0x00, 0x00, 0x20, 0x05, 0x00
|
|
.byte 0x00, 0xA0, 0x06, 0x00, 0x00, 0xA0, 0x07, 0x00, 0x00, 0xA0, 0x08, 0x00, 0x00, 0xE0, 0x08, 0x00
|
|
.byte 0x00, 0x80, 0x09, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0xFF, 0xFF, 0x0A, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x40, 0x04, 0x00
|
|
.byte 0x00, 0xC0, 0x06, 0x00, 0x00, 0x40, 0x09, 0x00, 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x40, 0x0E, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0xD8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0xD8, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x8E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x44, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xFA, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xB0, 0x05
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xF4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xAA, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x02, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x2E, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xFC, 0xFF, 0xFF, 0xFF, 0xAC, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xAA, 0x0A
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x04, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 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, 0x01, 0x03
|
|
.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, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x14, 0x00, 0xFA, 0x00, 0x28, 0x00, 0xF4, 0x01, 0x3C, 0x00, 0xE8, 0x03, 0x50, 0x00
|
|
.byte 0xD0, 0x07, 0x64, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x00, 0xDB, 0x00, 0xDE, 0x00, 0x0C, 0x01
|
|
.byte 0x29, 0x00, 0x57, 0x00, 0x58, 0x00, 0x79, 0x00, 0x7B, 0x00, 0x82, 0x00, 0xC4, 0x00, 0xFF, 0xFF
|
|
.byte 0x07, 0x00, 0x08, 0x00, 0x27, 0x00, 0x4B, 0x00, 0x50, 0x00, 0x91, 0x00, 0x97, 0x00, 0xA1, 0x00
|
|
.byte 0xAA, 0x00, 0xB6, 0x00, 0xBE, 0x00, 0xF8, 0x00, 0x0D, 0x01, 0xFF, 0xFF, 0xFD, 0x01, 0x1F, 0x02
|
|
.byte 0x39, 0x02, 0x1F, 0x02, 0x75, 0x02, 0x1F, 0x02, 0xB1, 0x02, 0x1F, 0x02, 0xED, 0x02, 0x1F, 0x02
|
|
.byte 0x21, 0x03, 0x1F, 0x02, 0x79, 0x03, 0x1F, 0x02, 0xD1, 0x03, 0x1F, 0x02, 0x29, 0x04, 0x1F, 0x02
|
|
.byte 0x81, 0x04, 0x1F, 0x02, 0xCD, 0x04, 0x1F, 0x02, 0x19, 0x05, 0x1F, 0x02, 0x65, 0x05, 0x1F, 0x02
|
|
.byte 0xB1, 0x05, 0x1F, 0x02, 0xF9, 0x05, 0x1F, 0x02, 0x41, 0x06, 0x1F, 0x02, 0x91, 0x06, 0x1F, 0x02
|
|
.byte 0xE1, 0x06, 0x1F, 0x02, 0x11, 0x07, 0x1F, 0x02, 0x41, 0x07, 0x1F, 0x02, 0x71, 0x07, 0x1F, 0x02
|
|
.byte 0xA1, 0x07, 0x1F, 0x02, 0xD1, 0x07, 0x1F, 0x02, 0x01, 0x08, 0x1F, 0x02, 0x31, 0x08, 0x1F, 0x02
|
|
.byte 0x61, 0x08, 0x1F, 0x02, 0xB5, 0x08, 0x1F, 0x02, 0x05, 0x09, 0x1F, 0x02, 0x69, 0x09, 0x1F, 0x02
|
|
.byte 0xCD, 0x09, 0x1F, 0x02, 0xE9, 0x09, 0x1F, 0x02, 0x79, 0x0B, 0x1F, 0x02, 0x9D, 0x0B, 0x1F, 0x02
|
|
.byte 0xD9, 0x0C, 0x1F, 0x02, 0x0D, 0x0D, 0x1F, 0x02, 0x3D, 0x0D, 0x1F, 0x02, 0x6D, 0x0D, 0x1F, 0x02
|
|
.byte 0xB1, 0x0D, 0x1F, 0x02, 0xF5, 0x0D, 0x1F, 0x02, 0xD1, 0x0E, 0x1F, 0x02, 0xED, 0x0E, 0x1F, 0x02
|
|
.byte 0x11, 0x0F, 0x1F, 0x02, 0xC5, 0x10, 0x1F, 0x02, 0x79, 0x11, 0x1F, 0x02, 0x11, 0x12, 0x1F, 0x02
|
|
.byte 0x05, 0x13, 0x1F, 0x02, 0xF9, 0x13, 0x1F, 0x02, 0x71, 0x14, 0x1F, 0x02, 0xA9, 0x14, 0x1F, 0x02
|
|
.byte 0xE1, 0x14, 0x1F, 0x02, 0x35, 0x15, 0x1F, 0x02, 0x89, 0x15, 0x1F, 0x02, 0xDD, 0x15, 0x1F, 0x02
|
|
.byte 0x31, 0x16, 0x1F, 0x02, 0x5D, 0x17, 0x1F, 0x02, 0x89, 0x18, 0x1F, 0x02, 0x49, 0x19, 0x1F, 0x02
|
|
.byte 0x09, 0x1A, 0x1F, 0x02, 0xAD, 0x1A, 0x1F, 0x02, 0x51, 0x1B, 0x1F, 0x02, 0xC1, 0x1B, 0x1F, 0x02
|
|
.byte 0x31, 0x1C, 0x1F, 0x02, 0x4D, 0x1C, 0x1F, 0x02, 0x51, 0x1C, 0x1F, 0x02, 0x55, 0x1C, 0x1F, 0x02
|
|
.byte 0x89, 0x1C, 0x1F, 0x02, 0xA9, 0x28, 0x1F, 0x02, 0xE1, 0x28, 0x1F, 0x02, 0x2D, 0x29, 0x1F, 0x02
|
|
.byte 0x65, 0x29, 0x1F, 0x02, 0x7D, 0x29, 0x1F, 0x02, 0xB1, 0x29, 0x1F, 0x02, 0xD1, 0x29, 0x1F, 0x02
|
|
.byte 0xF1, 0x29, 0x1F, 0x02, 0x11, 0x2A, 0x1F, 0x02, 0x6D, 0x2A, 0x1F, 0x02, 0x8D, 0x2A, 0x1F, 0x02
|
|
.byte 0xA9, 0x2A, 0x1F, 0x02, 0xD1, 0x2A, 0x1F, 0x02, 0x75, 0x2B, 0x1F, 0x02, 0xAD, 0x2B, 0x1F, 0x02
|
|
.byte 0xE5, 0x2B, 0x1F, 0x02, 0x1D, 0x0B, 0x1F, 0x02, 0xED, 0x0F, 0x1F, 0x02, 0x19, 0x2C, 0x1F, 0x02
|
|
.byte 0xED, 0x1C, 0x1F, 0x02, 0x55, 0x1D, 0x1F, 0x02, 0x85, 0x1D, 0x1F, 0x02, 0xED, 0x1D, 0x1F, 0x02
|
|
.byte 0x7D, 0x1E, 0x1F, 0x02, 0x21, 0x1F, 0x1F, 0x02, 0x51, 0x1F, 0x1F, 0x02, 0x81, 0x1F, 0x1F, 0x02
|
|
.byte 0xDD, 0x1F, 0x1F, 0x02, 0x01, 0x20, 0x1F, 0x02, 0x31, 0x20, 0x1F, 0x02, 0xF5, 0x20, 0x1F, 0x02
|
|
.byte 0x31, 0x21, 0x1F, 0x02, 0xC5, 0x22, 0x1F, 0x02, 0xFD, 0x22, 0x1F, 0x02, 0x15, 0x24, 0x1F, 0x02
|
|
.byte 0x65, 0x24, 0x1F, 0x02, 0xB5, 0x24, 0x1F, 0x02, 0x09, 0x25, 0x1F, 0x02, 0x5D, 0x25, 0x1F, 0x02
|
|
.byte 0xAD, 0x26, 0x1F, 0x02, 0x09, 0x28, 0x1F, 0x02, 0x59, 0x28, 0x1F, 0x02, 0x5D, 0x2C, 0x1F, 0x02
|