mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-19 23:34:51 -05:00
11203 lines
192 KiB
ArmAsm
11203 lines
192 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD75_021E6BA0
|
|
MOD75_021E6BA0: ; 0x021E6BA0
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
bl FUN_0201E6D8
|
|
bl FUN_0201E740
|
|
mov r0, #1
|
|
lsl r0, r0, #0x1a
|
|
ldr r2, [r0]
|
|
ldr r1, _021E6D58 ; =0xFFFFE0FF
|
|
ldr r3, _021E6D5C ; =0x04001000
|
|
and r2, r1
|
|
str r2, [r0]
|
|
ldr r2, [r3]
|
|
add r0, #0x50
|
|
and r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
add r3, #0x50
|
|
strh r1, [r3]
|
|
mov r1, #6
|
|
mov r0, #3
|
|
lsl r2, r1, #0xf
|
|
bl FUN_0201681C
|
|
ldr r1, _021E6D60 ; =0x000004A4
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
bl FUN_02006268
|
|
ldr r2, _021E6D60 ; =0x000004A4
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl FUN_0200628C
|
|
add r1, r4, #0
|
|
add r1, #0xc4
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
bl MOD75_021E6FA4
|
|
mov r0, #6
|
|
bl FUN_02016B94
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
bl FUN_020239CC
|
|
ldr r1, _021E6D64 ; =0x00000425
|
|
mov r3, #0
|
|
strb r0, [r4, r1]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #3
|
|
mov r1, #8
|
|
bl FUN_0201669C
|
|
add r0, r4, #0
|
|
bl MOD75_021E7470
|
|
add r0, r4, #0
|
|
bl MOD75_021E737C
|
|
add r0, r4, #0
|
|
bl MOD75_021E771C
|
|
add r0, r4, #0
|
|
bl MOD75_021E73E8
|
|
add r0, r4, #0
|
|
bl MOD75_021E7CE4
|
|
bl MOD75_021E7034
|
|
ldr r0, [r4]
|
|
bl MOD75_021E7054
|
|
add r0, r4, #0
|
|
bl MOD75_021E7214
|
|
add r0, r4, #0
|
|
bl MOD75_021E8680
|
|
bl FUN_0201CC08
|
|
mov r0, #4
|
|
bl FUN_0201CC24
|
|
add r0, r4, #0
|
|
bl MOD75_021EA604
|
|
mov r0, #1
|
|
bl FUN_02002BB8
|
|
add r0, r4, #0
|
|
bl MOD75_021EA7BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EA81C
|
|
add r0, r4, #0
|
|
bl MOD75_021EA8BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EA9F8
|
|
add r0, r4, #0
|
|
bl MOD75_021EB048
|
|
add r0, r4, #0
|
|
bl MOD75_021EAD94
|
|
add r0, r4, #0
|
|
bl MOD75_021E7580
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r3, #0
|
|
add r1, r3, #0
|
|
add r0, #0xa
|
|
add r1, #8
|
|
add r0, r0, r2
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
ldrb r2, [r2, #0xd]
|
|
bl MOD75_021E7758
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r3, #0
|
|
add r1, r3, #0
|
|
add r0, #0xa
|
|
add r1, #8
|
|
add r0, r0, r2
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
ldrb r2, [r2, #0xd]
|
|
mov r3, #9
|
|
bl MOD75_021E7794
|
|
add r0, r4, #0
|
|
bl MOD75_021EB9B4
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r2, r3, r2
|
|
ldrh r1, [r2, #0xa]
|
|
ldrh r2, [r2, #8]
|
|
add r0, r4, #0
|
|
bl MOD75_021E77E8
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
add r0, #0xfc
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _021E6D3A
|
|
add r0, r4, #0
|
|
bl MOD75_021EB8E8
|
|
_021E6D3A:
|
|
ldr r0, _021E6D68 ; =MOD75_021E700C
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
mov r1, #0
|
|
mov r0, #0x33
|
|
add r2, r1, #0
|
|
bl FUN_0200433C
|
|
bl FUN_02033F20
|
|
mov r0, #1
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E6D58: .word 0xFFFFE0FF
|
|
_021E6D5C: .word 0x04001000
|
|
_021E6D60: .word 0x000004A4
|
|
_021E6D64: .word 0x00000425
|
|
_021E6D68: .word MOD75_021E700C
|
|
thumb_func_end MOD75_021E6BA0
|
|
|
|
thumb_func_start MOD75_021E6D6C
|
|
MOD75_021E6D6C: ; 0x021E6D6C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
bl FUN_02006278
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
cmp r1, #0x18
|
|
bhi _021E6DC2
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E6D88: ; jump table
|
|
.short _021E6DBA - _021E6D88 - 2 ; case 0
|
|
.short _021E6DF2 - _021E6D88 - 2 ; case 1
|
|
.short _021E6DFA - _021E6D88 - 2 ; case 2
|
|
.short _021E6E36 - _021E6D88 - 2 ; case 3
|
|
.short _021E6E44 - _021E6D88 - 2 ; case 4
|
|
.short _021E6EE0 - _021E6D88 - 2 ; case 5
|
|
.short _021E6EE0 - _021E6D88 - 2 ; case 6
|
|
.short _021E6E4C - _021E6D88 - 2 ; case 7
|
|
.short _021E6E54 - _021E6D88 - 2 ; case 8
|
|
.short _021E6E5C - _021E6D88 - 2 ; case 9
|
|
.short _021E6E64 - _021E6D88 - 2 ; case 10
|
|
.short _021E6E6C - _021E6D88 - 2 ; case 11
|
|
.short _021E6E74 - _021E6D88 - 2 ; case 12
|
|
.short _021E6E7C - _021E6D88 - 2 ; case 13
|
|
.short _021E6E84 - _021E6D88 - 2 ; case 14
|
|
.short _021E6E8C - _021E6D88 - 2 ; case 15
|
|
.short _021E6E94 - _021E6D88 - 2 ; case 16
|
|
.short _021E6E9C - _021E6D88 - 2 ; case 17
|
|
.short _021E6EA4 - _021E6D88 - 2 ; case 18
|
|
.short _021E6EAC - _021E6D88 - 2 ; case 19
|
|
.short _021E6EB4 - _021E6D88 - 2 ; case 20
|
|
.short _021E6EBC - _021E6D88 - 2 ; case 21
|
|
.short _021E6EC4 - _021E6D88 - 2 ; case 22
|
|
.short _021E6ECC - _021E6D88 - 2 ; case 23
|
|
.short _021E6ED4 - _021E6D88 - 2 ; case 24
|
|
_021E6DBA:
|
|
bl FUN_0200E308
|
|
cmp r0, #1
|
|
beq _021E6DC4
|
|
_021E6DC2:
|
|
b _021E6EE0
|
|
_021E6DC4:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _021E6DD8
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6DD8:
|
|
cmp r0, #1
|
|
bne _021E6DE2
|
|
mov r0, #0xe
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6DE2:
|
|
cmp r0, #3
|
|
bne _021E6DEC
|
|
mov r0, #0x17
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6DEC:
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6DF2:
|
|
bl MOD75_021E7AE0
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6DFA:
|
|
bl MOD75_021E86C0
|
|
add r0, r5, #0
|
|
bl MOD75_021E7EE4
|
|
cmp r0, #1
|
|
bne _021E6EE0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _021E6E1C
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E1C:
|
|
cmp r0, #1
|
|
bne _021E6E26
|
|
mov r0, #0xe
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E26:
|
|
cmp r0, #3
|
|
bne _021E6E30
|
|
mov r0, #0x17
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E30:
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E36:
|
|
bl MOD75_021E88BC
|
|
cmp r0, #1
|
|
bne _021E6EE0
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E44:
|
|
bl MOD75_021E8CF4
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E4C:
|
|
bl MOD75_021E94D0
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E54:
|
|
bl MOD75_021E95BC
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E5C:
|
|
bl MOD75_021E95E0
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E64:
|
|
bl MOD75_021E971C
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E6C:
|
|
bl MOD75_021E9750
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E74:
|
|
bl MOD75_021E8EB0
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E7C:
|
|
bl MOD75_021E8FC8
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E84:
|
|
bl MOD75_021E9840
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E8C:
|
|
bl MOD75_021E9930
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E94:
|
|
bl MOD75_021E9980
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6E9C:
|
|
bl MOD75_021E9B4C
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6EA4:
|
|
bl MOD75_021E9B88
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6EAC:
|
|
bl MOD75_021E9D6C
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6EB4:
|
|
bl MOD75_021E9D90
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6EBC:
|
|
bl MOD75_021E9EE4
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6EC4:
|
|
bl MOD75_021E9F74
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6ECC:
|
|
bl MOD75_021E9FDC
|
|
str r0, [r4]
|
|
b _021E6EE0
|
|
_021E6ED4:
|
|
bl FUN_0200E308
|
|
cmp r0, #1
|
|
bne _021E6EE0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6EE0:
|
|
add r0, r5, #0
|
|
bl MOD75_021E85D8
|
|
add r0, r5, #0
|
|
bl MOD75_021EC3B8
|
|
add r0, r5, #0
|
|
bl MOD75_021EC018
|
|
add r5, #0xdc
|
|
ldr r0, [r5]
|
|
bl FUN_0200BC1C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E6D6C
|
|
|
|
thumb_func_start MOD75_021E6F00
|
|
MOD75_021E6F00: ; 0x021E6F00
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl FUN_02006278
|
|
add r4, r0, #0
|
|
bl MOD75_021EBFE4
|
|
add r0, r4, #0
|
|
bl MOD75_021E7AA4
|
|
add r0, r4, #0
|
|
bl MOD75_021E752C
|
|
add r0, r4, #4
|
|
bl MOD75_021EA7A0
|
|
ldr r0, [r4]
|
|
bl MOD75_021E71BC
|
|
bl FUN_0201CD04
|
|
bl FUN_0201C29C
|
|
add r0, r4, #0
|
|
bl MOD75_021EB110
|
|
add r0, r4, #0
|
|
bl MOD75_021EA7F8
|
|
add r0, r4, #0
|
|
bl MOD75_021EADC0
|
|
add r0, r4, #0
|
|
bl MOD75_021E773C
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200B990
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200AB18
|
|
add r4, #0xd4
|
|
ldr r0, [r4]
|
|
bl NARC_dtor
|
|
add r0, r5, #0
|
|
bl FUN_0200627C
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
mov r0, #6
|
|
bl FUN_020168D0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E6F00
|
|
|
|
thumb_func_start MOD75_021E6FA4
|
|
MOD75_021E6FA4: ; 0x021E6FA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FUN_0206F158
|
|
add r1, r4, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FUN_020238F4
|
|
add r1, r4, #0
|
|
add r1, #0xcc
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl LoadPlayerDataAddress
|
|
add r4, #0xd0
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021E6FA4
|
|
|
|
thumb_func_start MOD75_021E6FDC
|
|
MOD75_021E6FDC: ; 0x021E6FDC
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r3, _021E6FE8 ; =FUN_0202A9B0
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_021E6FE8: .word FUN_0202A9B0
|
|
thumb_func_end MOD75_021E6FDC
|
|
|
|
thumb_func_start MOD75_021E6FEC
|
|
MOD75_021E6FEC: ; 0x021E6FEC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl MOD75_021E6FDC
|
|
bl FUN_0202AB4C
|
|
strb r4, [r0]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021E6FEC
|
|
|
|
thumb_func_start MOD75_021E6FFC
|
|
MOD75_021E6FFC: ; 0x021E6FFC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl MOD75_021E6FDC
|
|
add r1, r4, #0
|
|
bl FUN_0202AB68
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021E6FFC
|
|
|
|
thumb_func_start MOD75_021E700C
|
|
MOD75_021E700C: ; 0x021E700C
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
bl FUN_0201AB60
|
|
bl FUN_0201C30C
|
|
bl FUN_0200BC30
|
|
ldr r3, _021E702C ; =0x027E0000
|
|
ldr r1, _021E7030 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r3, pc}
|
|
nop
|
|
_021E702C: .word 0x027E0000
|
|
_021E7030: .word 0x00003FF8
|
|
thumb_func_end MOD75_021E700C
|
|
|
|
thumb_func_start MOD75_021E7034
|
|
MOD75_021E7034: ; 0x021E7034
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _021E7050 ; =0x021EC568
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_021E703E:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E703E
|
|
add r0, sp, #0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E7050: .word 0x021EC568
|
|
thumb_func_end MOD75_021E7034
|
|
|
|
thumb_func_start MOD75_021E7054
|
|
MOD75_021E7054: ; 0x021E7054
|
|
push {r4, r5, lr}
|
|
sub sp, #0xd4
|
|
ldr r5, _021E719C ; =0x021EC41C
|
|
add r3, sp, #0xc4
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_02016BBC
|
|
ldr r5, _021E71A0 ; =0x021EC440
|
|
add r3, sp, #0xa8
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _021E71A4 ; =0x021EC45C
|
|
add r3, sp, #0x8c
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _021E71A8 ; =0x021EC494
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
ldr r5, _021E71AC ; =0x021EC4E8
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _021E71B0 ; =0x021EC478
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _021E71B4 ; =0x021EC4B0
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #5
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _021E71B8 ; =0x021EC4CC
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #7
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #1
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #9
|
|
mov r3, #0x80
|
|
bl FUN_0201AF50
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #0xc
|
|
mov r3, #0x50
|
|
bl FUN_0201AF50
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #6
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl FUN_02017F18
|
|
add sp, #0xd4
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E719C: .word 0x021EC41C
|
|
_021E71A0: .word 0x021EC440
|
|
_021E71A4: .word 0x021EC45C
|
|
_021E71A8: .word 0x021EC494
|
|
_021E71AC: .word 0x021EC4E8
|
|
_021E71B0: .word 0x021EC478
|
|
_021E71B4: .word 0x021EC4B0
|
|
_021E71B8: .word 0x021EC4CC
|
|
thumb_func_end MOD75_021E7054
|
|
|
|
thumb_func_start MOD75_021E71BC
|
|
MOD75_021E71BC: ; 0x021E71BC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x1f
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x1b
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
mov r0, #6
|
|
add r1, r4, #0
|
|
bl FUN_02016A8C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E71BC
|
|
|
|
thumb_func_start MOD75_021E7214
|
|
MOD75_021E7214: ; 0x021E7214
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0xd
|
|
mov r1, #6
|
|
bl NARC_ctor
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
str r0, [r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #7
|
|
mov r3, #1
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #0xa
|
|
mov r3, #1
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #9
|
|
mov r3, #3
|
|
bl FUN_020068C8
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
mov r1, #8
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
mov r1, #0x12
|
|
mov r2, #0
|
|
lsl r3, r0, #5
|
|
bl FUN_02006930
|
|
mov r1, #0x16
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #6
|
|
bl FUN_02002EEC
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, _021E7374 ; =0x000003F7
|
|
mov r3, #0xe
|
|
bl FUN_0200CB00
|
|
add r0, r4, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, _021E7378 ; =0x000003D9
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200CD68
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #0xb
|
|
mov r3, #5
|
|
bl FUN_0200687C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
mov r1, #0xc
|
|
mov r2, #4
|
|
bl FUN_02006930
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xd
|
|
ldr r2, [r4]
|
|
add r1, r0, #0
|
|
mov r3, #5
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #0x25
|
|
mov r3, #7
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #0x24
|
|
mov r3, #7
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0xd
|
|
mov r1, #0xf
|
|
mov r3, #4
|
|
bl FUN_0200687C
|
|
mov r3, #0x40
|
|
str r3, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
mov r1, #0xe
|
|
mov r2, #4
|
|
bl FUN_02006930
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E7374: .word 0x000003F7
|
|
_021E7378: .word 0x000003D9
|
|
thumb_func_end MOD75_021E7214
|
|
|
|
thumb_func_start MOD75_021E737C
|
|
MOD75_021E737C: ; 0x021E737C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
mov r2, #7
|
|
mov r3, #6
|
|
bl FUN_0200A86C
|
|
mov r1, #0x45
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
mov r1, #2
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl FUN_0200B870
|
|
mov r1, #0x11
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #6
|
|
bl FUN_0200AA80
|
|
mov r2, #0x46
|
|
lsl r2, r2, #2
|
|
str r0, [r4, r2]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
add r2, #0x40
|
|
mov r3, #6
|
|
bl FUN_0200A86C
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r2, #0x93
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #2
|
|
mov r3, #6
|
|
bl FUN_0200A86C
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
sub r1, #0x20
|
|
add r0, r1, #0
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021E737C
|
|
|
|
thumb_func_start MOD75_021E73E8
|
|
MOD75_021E73E8: ; 0x021E73E8
|
|
push {r4, r5}
|
|
ldr r2, _021E741C ; =0x00000424
|
|
mov r1, #0
|
|
strb r1, [r0, r2]
|
|
add r4, r2, #0
|
|
mov r3, #0xc
|
|
_021E73F4:
|
|
add r2, r0, #0
|
|
add r2, #0xc4
|
|
ldr r5, [r2]
|
|
add r2, r1, #0
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
ldr r2, [r2, #4]
|
|
cmp r2, #0
|
|
beq _021E740C
|
|
ldrb r2, [r0, r4]
|
|
add r2, r2, #1
|
|
strb r2, [r0, r4]
|
|
_021E740C:
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #8
|
|
blo _021E73F4
|
|
pop {r4, r5}
|
|
bx lr
|
|
nop
|
|
_021E741C: .word 0x00000424
|
|
thumb_func_end MOD75_021E73E8
|
|
|
|
thumb_func_start MOD75_021E7420
|
|
MOD75_021E7420: ; 0x021E7420
|
|
push {r3, r4}
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r0, #4
|
|
add r0, #0x64
|
|
ldrb r3, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r3
|
|
cmp r2, #0
|
|
ldr r2, [r4, r0]
|
|
bne _021E743E
|
|
lsl r0, r1, #2
|
|
ldrh r0, [r2, r0]
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021E743E:
|
|
lsl r0, r1, #2
|
|
add r0, r2, r0
|
|
ldrh r0, [r0, #2]
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end MOD75_021E7420
|
|
|
|
thumb_func_start MOD75_021E7448
|
|
MOD75_021E7448: ; 0x021E7448
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
ldr r3, _021E7454 ; =FUN_0200A8E0
|
|
bx r3
|
|
nop
|
|
_021E7454: .word FUN_0200A8E0
|
|
thumb_func_end MOD75_021E7448
|
|
|
|
thumb_func_start MOD75_021E7458
|
|
MOD75_021E7458: ; 0x021E7458
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r2, #0
|
|
bl FUN_0206EA30
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD75_021E7458
|
|
|
|
thumb_func_start MOD75_021E7470
|
|
MOD75_021E7470: ; 0x021E7470
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r5, #0
|
|
add r0, #0x64
|
|
strb r5, [r0]
|
|
add r0, r7, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r6, r0, #4
|
|
ldr r0, [r0, #0x6c]
|
|
cmp r0, #0
|
|
bne _021E74AE
|
|
mov r3, #1
|
|
add r2, r5, #0
|
|
mov r1, #0xc
|
|
_021E7492:
|
|
add r0, r5, #0
|
|
mul r0, r1
|
|
add r4, r6, r0
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _021E7528
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
strh r3, [r4, #4]
|
|
lsr r5, r0, #0x10
|
|
strh r2, [r4, #6]
|
|
cmp r5, #8
|
|
blo _021E7492
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E74AE:
|
|
mov r0, #0xc
|
|
mul r0, r5
|
|
add r4, r6, r0
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _021E74F2
|
|
add r0, r7, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldrb r1, [r4, #8]
|
|
add r2, sp, #0
|
|
ldr r0, [r0, #0x6c]
|
|
add r2, #1
|
|
add r3, sp, #0
|
|
bl FUN_0206F17C
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
bne _021E74DC
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, #1]
|
|
_021E74DC:
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #1]
|
|
strh r0, [r4, #4]
|
|
add r0, sp, #0
|
|
ldrb r0, [r0]
|
|
strh r0, [r4, #6]
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #8
|
|
blo _021E74AE
|
|
_021E74F2:
|
|
add r0, r7, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x6c]
|
|
bl FUN_0206F18C
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
_021E7502:
|
|
add r2, r1, #0
|
|
mul r2, r3
|
|
add r4, r6, r2
|
|
ldr r2, [r6, r2]
|
|
cmp r2, #0
|
|
beq _021E7528
|
|
ldrb r2, [r4, #8]
|
|
cmp r0, r2
|
|
bne _021E751E
|
|
add r2, r7, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
add r2, #0x64
|
|
strb r1, [r2]
|
|
_021E751E:
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
cmp r1, #8
|
|
blo _021E7502
|
|
_021E7528:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E7470
|
|
|
|
thumb_func_start MOD75_021E752C
|
|
MOD75_021E752C: ; 0x021E752C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E757E
|
|
add r7, r1, #4
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_021E7540:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _021E7568
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldrh r2, [r5, #4]
|
|
ldrh r3, [r5, #6]
|
|
ldr r0, [r0]
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
ldrb r1, [r5, #8]
|
|
ldr r0, [r0, #0x6c]
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_0206F190
|
|
add r4, r4, #1
|
|
add r5, #0xc
|
|
cmp r4, #8
|
|
blo _021E7540
|
|
_021E7568:
|
|
add r6, #0xc4
|
|
ldr r1, [r6]
|
|
ldr r0, [r1, #0x6c]
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r1, r7, r1
|
|
ldrb r1, [r1, #8]
|
|
bl FUN_0206F19C
|
|
_021E757E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD75_021E752C
|
|
|
|
thumb_func_start MOD75_021E7580
|
|
MOD75_021E7580: ; 0x021E7580
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
ldrb r1, [r4, #8]
|
|
ldr r0, _021E7718 ; =0x021EC674
|
|
ldrb r0, [r0, r1]
|
|
mov r1, #6
|
|
add r0, r0, #3
|
|
bl FUN_02012838
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x23
|
|
bl FUN_02012880
|
|
ldrb r3, [r4, #8]
|
|
cmp r3, #3
|
|
bne _021E764A
|
|
ldr r0, _021E7718 ; =0x021EC674
|
|
mov r6, #0
|
|
ldrb r0, [r0, r3]
|
|
cmp r0, #0
|
|
bls _021E761A
|
|
str r6, [sp]
|
|
add r7, r5, #0
|
|
_021E75CE:
|
|
ldr r0, [r4]
|
|
ldr r2, [sp]
|
|
ldr r1, [sp]
|
|
ldrh r2, [r0, r2]
|
|
add r1, r0, r1
|
|
cmp r2, #0
|
|
beq _021E761A
|
|
ldrh r0, [r1, #2]
|
|
cmp r0, #0
|
|
beq _021E761A
|
|
mov r0, #0x12
|
|
mov r1, #0x59
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r7, r1]
|
|
mov r3, #6
|
|
bl MOD75_021E7458
|
|
mov r0, #0x16
|
|
mov r1, #0x59
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r7, r1]
|
|
add r2, r6, #0
|
|
bl FUN_020128A0
|
|
ldr r0, [sp]
|
|
ldrb r1, [r4, #8]
|
|
add r0, r0, #4
|
|
str r0, [sp]
|
|
ldr r0, _021E7718 ; =0x021EC674
|
|
add r6, r6, #1
|
|
ldrb r0, [r0, r1]
|
|
add r7, r7, #4
|
|
cmp r6, r0
|
|
blo _021E75CE
|
|
_021E761A:
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x22
|
|
bl FUN_02012880
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x23
|
|
bl FUN_02012880
|
|
add r0, r6, #3
|
|
add sp, #8
|
|
strb r0, [r4, #9]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E764A:
|
|
ldr r0, _021E7718 ; =0x021EC674
|
|
mov r6, #0
|
|
ldrb r0, [r0, r3]
|
|
cmp r0, #0
|
|
bls _021E76A4
|
|
str r6, [sp, #4]
|
|
add r7, r5, #0
|
|
_021E7658:
|
|
ldr r2, [r4]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #4]
|
|
add r0, r2, r0
|
|
ldrh r2, [r2, r1]
|
|
cmp r2, #0
|
|
beq _021E76A4
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _021E76A4
|
|
mov r0, #0x47
|
|
mov r1, #0x59
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r7, r1]
|
|
mov r3, #6
|
|
bl MOD75_021E7448
|
|
mov r0, #0x16
|
|
mov r1, #0x59
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r7, r1]
|
|
add r2, r6, #0
|
|
bl FUN_020128A0
|
|
ldr r0, [sp, #4]
|
|
ldrb r3, [r4, #8]
|
|
add r0, r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E7718 ; =0x021EC674
|
|
add r6, r6, #1
|
|
ldrb r0, [r0, r3]
|
|
add r7, r7, #4
|
|
cmp r6, r0
|
|
blo _021E7658
|
|
_021E76A4:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #5
|
|
beq _021E76FC
|
|
cmp r3, #4
|
|
bne _021E76CC
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x22
|
|
bl FUN_02012880
|
|
b _021E76E0
|
|
_021E76CC:
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x29
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x2b
|
|
bl FUN_02012880
|
|
_021E76E0:
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x23
|
|
bl FUN_02012880
|
|
add r0, r6, #3
|
|
add sp, #8
|
|
strb r0, [r4, #9]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E76FC:
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r1, [r5, r1]
|
|
sub r3, #0x23
|
|
bl FUN_02012880
|
|
add r0, r6, #2
|
|
strb r0, [r4, #9]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E7718: .word 0x021EC674
|
|
thumb_func_end MOD75_021E7580
|
|
|
|
thumb_func_start MOD75_021E771C
|
|
MOD75_021E771C: ; 0x021E771C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0x59
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
mov r7, #0x12
|
|
lsl r6, r6, #2
|
|
_021E7728:
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
str r0, [r5, r6]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xa5
|
|
blo _021E7728
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD75_021E771C
|
|
|
|
thumb_func_start MOD75_021E773C
|
|
MOD75_021E773C: ; 0x021E773C
|
|
push {r4, r5, r6, lr}
|
|
mov r6, #0x59
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
lsl r6, r6, #2
|
|
_021E7746:
|
|
ldr r0, [r5, r6]
|
|
bl FUN_02021A20
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xa5
|
|
blo _021E7746
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E773C
|
|
|
|
thumb_func_start MOD75_021E7758
|
|
MOD75_021E7758: ; 0x021E7758
|
|
push {r4, r5}
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
cmp r2, #8
|
|
bls _021E7768
|
|
mov r5, #7
|
|
b _021E776E
|
|
_021E7768:
|
|
sub r3, r2, #1
|
|
lsl r3, r3, #0x18
|
|
lsr r5, r3, #0x18
|
|
_021E776E:
|
|
ldrh r3, [r0]
|
|
cmp r3, #0
|
|
beq _021E7780
|
|
sub r4, r2, #1
|
|
add r3, r3, r5
|
|
cmp r3, r4
|
|
ble _021E7780
|
|
sub r3, r4, r5
|
|
strh r3, [r0]
|
|
_021E7780:
|
|
ldrh r3, [r0]
|
|
ldrh r0, [r1]
|
|
sub r2, r2, #1
|
|
add r0, r3, r0
|
|
cmp r0, r2
|
|
blt _021E7790
|
|
sub r0, r2, r3
|
|
strh r0, [r1]
|
|
_021E7790:
|
|
pop {r4, r5}
|
|
bx lr
|
|
thumb_func_end MOD75_021E7758
|
|
|
|
thumb_func_start MOD75_021E7794
|
|
MOD75_021E7794: ; 0x021E7794
|
|
push {r3, r4, r5, r6}
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
cmp r2, #8
|
|
bls _021E77A4
|
|
mov r5, #7
|
|
b _021E77AA
|
|
_021E77A4:
|
|
sub r4, r2, #1
|
|
lsl r4, r4, #0x18
|
|
lsr r5, r4, #0x18
|
|
_021E77AA:
|
|
ldrh r6, [r1]
|
|
asr r4, r3, #1
|
|
add r3, r4, #2
|
|
cmp r6, r3
|
|
blt _021E77E2
|
|
sub r6, r6, r4
|
|
mov r3, #0
|
|
sub r6, r6, #2
|
|
bmi _021E77E2
|
|
sub r2, r2, #1
|
|
_021E77BE:
|
|
ldrh r6, [r0]
|
|
add r6, r6, r5
|
|
cmp r2, r6
|
|
beq _021E77E2
|
|
ldrh r6, [r1]
|
|
add r3, r3, #1
|
|
lsl r3, r3, #0x18
|
|
sub r6, r6, #1
|
|
strh r6, [r1]
|
|
ldrh r6, [r0]
|
|
lsr r3, r3, #0x18
|
|
add r6, r6, #1
|
|
strh r6, [r0]
|
|
ldrh r6, [r1]
|
|
sub r6, r6, r4
|
|
sub r6, r6, #2
|
|
cmp r3, r6
|
|
ble _021E77BE
|
|
_021E77E2:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E7794
|
|
|
|
thumb_func_start MOD75_021E77E8
|
|
MOD75_021E77E8: ; 0x021E77E8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x20
|
|
ldr r6, _021E786C ; =0x021EC504
|
|
add r5, sp, #0
|
|
add r4, r0, #0
|
|
add r3, r1, #0
|
|
ldmia r6!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp]
|
|
add r0, r4, #4
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x64
|
|
ldrb r5, [r0]
|
|
mov r0, #0xc
|
|
add r6, r5, #0
|
|
mul r6, r0
|
|
add r1, r1, r6
|
|
ldrb r5, [r1, #0xd]
|
|
add r1, sp, #0
|
|
strh r5, [r1, #0x10]
|
|
add r5, r4, #0
|
|
str r4, [sp, #0x1c]
|
|
add r5, #0xc4
|
|
ldr r5, [r5]
|
|
add r6, r5, #0
|
|
add r6, #0x64
|
|
ldrb r6, [r6]
|
|
mul r0, r6
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, #0xc]
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _021E784C
|
|
mov r0, #0x23
|
|
b _021E784E
|
|
_021E784C:
|
|
mov r0, #0
|
|
_021E784E:
|
|
strb r0, [r1, #0x15]
|
|
add r1, r3, #0
|
|
add r0, sp, #0
|
|
mov r3, #6
|
|
bl FUN_020010A8
|
|
mov r1, #0x57
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r4, #4
|
|
bl FUN_02019220
|
|
add sp, #0x20
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E786C: .word 0x021EC504
|
|
thumb_func_end MOD75_021E77E8
|
|
|
|
thumb_func_start MOD75_021E7870
|
|
MOD75_021E7870: ; 0x021E7870
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r1, #0
|
|
mov r1, #0x13
|
|
add r4, r2, #0
|
|
bl FUN_02001470
|
|
add r5, r0, #0
|
|
cmp r4, #1
|
|
beq _021E78F8
|
|
ldr r0, _021E7960 ; =0x00000482
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _021E7890
|
|
cmp r0, #1
|
|
beq _021E7898
|
|
b _021E78A0
|
|
_021E7890:
|
|
ldr r0, _021E7964 ; =0x000006CC
|
|
bl FUN_020054C8
|
|
b _021E78A6
|
|
_021E7898:
|
|
ldr r0, _021E7968 ; =0x000006CD
|
|
bl FUN_020054C8
|
|
b _021E78A6
|
|
_021E78A0:
|
|
ldr r0, _021E796C ; =0x000006CE
|
|
bl FUN_020054C8
|
|
_021E78A6:
|
|
ldr r0, _021E7960 ; =0x00000482
|
|
mov r1, #3
|
|
ldrb r0, [r5, r0]
|
|
add r0, r0, #1
|
|
bl _s32_div_f
|
|
ldr r0, _021E7960 ; =0x00000482
|
|
strb r1, [r5, r0]
|
|
add r0, #0x10
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _021E78CC
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
bl FUN_0200C608
|
|
cmp r0, #0
|
|
bne _021E78F8
|
|
_021E78CC:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C61C
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r2, #0x64
|
|
ldrb r3, [r2]
|
|
mov r2, #0xc
|
|
add r0, #0xe0
|
|
mul r2, r3
|
|
add r1, r1, r2
|
|
ldrb r1, [r1, #0xc]
|
|
ldr r0, [r0]
|
|
add r1, #8
|
|
bl FUN_0200C5C0
|
|
_021E78F8:
|
|
ldr r0, _021E7970 ; =0x0000047A
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _021E795C
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r7, r1
|
|
beq _021E793C
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
lsl r7, r7, #2
|
|
add r4, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r6, r1, #0
|
|
mul r6, r0
|
|
ldr r1, [r4, r6]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1, r7]
|
|
bl MOD75_021EAAE8
|
|
ldr r1, [r4, r6]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1, r7]
|
|
bl MOD75_021EC034
|
|
b _021E794C
|
|
_021E793C:
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x10
|
|
bl MOD75_021EAAE8
|
|
ldr r1, _021E7974 ; =0x0000FFFF
|
|
add r0, r5, #0
|
|
bl MOD75_021EC034
|
|
_021E794C:
|
|
ldr r0, _021E7978 ; =0x00000479
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _021E795C
|
|
add r5, #0x14
|
|
add r0, r5, #0
|
|
bl FUN_02019220
|
|
_021E795C:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7960: .word 0x00000482
|
|
_021E7964: .word 0x000006CC
|
|
_021E7968: .word 0x000006CD
|
|
_021E796C: .word 0x000006CE
|
|
_021E7970: .word 0x0000047A
|
|
_021E7974: .word 0x0000FFFF
|
|
_021E7978: .word 0x00000479
|
|
thumb_func_end MOD75_021E7870
|
|
|
|
thumb_func_start MOD75_021E797C
|
|
MOD75_021E797C: ; 0x021E797C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x13
|
|
str r0, [sp]
|
|
add r7, r2, #0
|
|
bl FUN_02001470
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r6, r2, r0
|
|
ldr r0, _021E7A98 ; =0x0000047A
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #1
|
|
bne _021E79BA
|
|
add r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, r5
|
|
bne _021E79BA
|
|
ldr r0, [sp]
|
|
mov r1, #8
|
|
mov r2, #0
|
|
mov r3, #9
|
|
bl FUN_020013E8
|
|
b _021E79C6
|
|
_021E79BA:
|
|
ldr r0, [sp]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_020013E8
|
|
_021E79C6:
|
|
ldrb r0, [r6, #8]
|
|
cmp r0, #7
|
|
bne _021E79F8
|
|
mov r0, #2
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
beq _021E7A94
|
|
add r0, r0, #1
|
|
cmp r5, r0
|
|
beq _021E7A94
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
bl FUN_0206EBC4
|
|
ldr r2, [r6]
|
|
lsl r1, r5, #2
|
|
ldrh r1, [r2, r1]
|
|
cmp r1, r0
|
|
bne _021E7A94
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD75_021EB004
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E79F8:
|
|
cmp r0, #3
|
|
bne _021E7A24
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _021E7A0E
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD75_021EAFB0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7A0E:
|
|
sub r0, r0, #1
|
|
cmp r5, r0
|
|
beq _021E7A94
|
|
ldr r2, [r6]
|
|
lsl r1, r5, #2
|
|
add r1, r2, r1
|
|
add r0, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD75_021EAE90
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7A24:
|
|
cmp r0, #4
|
|
bne _021E7A50
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _021E7A3A
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD75_021EAFB0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7A3A:
|
|
sub r0, r0, #1
|
|
cmp r5, r0
|
|
beq _021E7A94
|
|
ldr r2, [r6]
|
|
lsl r1, r5, #2
|
|
add r1, r2, r1
|
|
add r0, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD75_021EAF0C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7A50:
|
|
mov r0, #2
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
beq _021E7A94
|
|
add r0, r0, #1
|
|
cmp r5, r0
|
|
beq _021E7A94
|
|
ldr r0, _021E7A98 ; =0x0000047A
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #1
|
|
bne _021E7A82
|
|
add r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, r5
|
|
bne _021E7A82
|
|
ldr r2, [r6]
|
|
lsl r1, r5, #2
|
|
add r1, r2, r1
|
|
ldrh r1, [r1, #2]
|
|
ldr r3, _021E7A9C ; =0x00080900
|
|
add r0, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD75_021EADDC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7A82:
|
|
ldr r2, [r6]
|
|
lsl r1, r5, #2
|
|
add r1, r2, r1
|
|
ldrh r1, [r1, #2]
|
|
ldr r3, _021E7AA0 ; =0x00010200
|
|
add r0, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD75_021EADDC
|
|
_021E7A94:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7A98: .word 0x0000047A
|
|
_021E7A9C: .word 0x00080900
|
|
_021E7AA0: .word 0x00010200
|
|
thumb_func_end MOD75_021E797C
|
|
|
|
thumb_func_start MOD75_021E7AA4
|
|
MOD75_021E7AA4: ; 0x021E7AA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
add r1, r3, #0
|
|
mul r2, r0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
add r1, #0xa
|
|
ldr r0, [r4, r0]
|
|
add r3, #8
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
bl FUN_02001300
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
mov r0, #0x57
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021E7AA4
|
|
|
|
thumb_func_start MOD75_021E7AE0
|
|
MOD75_021E7AE0: ; 0x021E7AE0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021E86C0
|
|
add r0, r4, #0
|
|
bl MOD75_021EA2D8
|
|
cmp r0, #1
|
|
bne _021E7AF6
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E7AF6:
|
|
add r0, r4, #0
|
|
bl MOD75_021E7D14
|
|
cmp r0, #1
|
|
bne _021E7B04
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_021E7B04:
|
|
add r0, r4, #0
|
|
bl MOD75_021E8304
|
|
cmp r0, #1
|
|
bne _021E7B12
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_021E7B12:
|
|
add r0, r4, #0
|
|
bl MOD75_021E7B7C
|
|
cmp r0, #1
|
|
bne _021E7B60
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD75_021EC090
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019570
|
|
add r0, r4, #0
|
|
bl MOD75_021E8B70
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #3
|
|
bne _021E7B5C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021E8DAC
|
|
_021E7B5C:
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_021E7B60:
|
|
cmp r0, #2
|
|
bne _021E7B6E
|
|
add r0, r4, #0
|
|
bl MOD75_021E8864
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021E7B6E:
|
|
cmp r0, #3
|
|
bne _021E7B76
|
|
mov r0, #0x18
|
|
pop {r4, pc}
|
|
_021E7B76:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E7AE0
|
|
|
|
thumb_func_start MOD75_021E7B7C
|
|
MOD75_021E7B7C: ; 0x021E7B7C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #6
|
|
add r2, r4, #4
|
|
bl FUN_02001448
|
|
ldr r0, _021E7CD8 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021E7BC0
|
|
add r0, r5, #0
|
|
bl MOD75_021E8808
|
|
cmp r0, #1
|
|
bne _021E7BC0
|
|
ldr r0, _021E7CDC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add sp, #4
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7BC0:
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001204
|
|
add r6, r0, #0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
add r1, sp, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #2
|
|
add r2, sp, #0
|
|
bl FUN_02001448
|
|
add r0, sp, #0
|
|
ldrh r2, [r0]
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, r2
|
|
beq _021E7BFC
|
|
sub r2, r2, #1
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xf0
|
|
add r2, #0x18
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
_021E7BFC:
|
|
add r0, sp, #0
|
|
ldrh r1, [r0, #2]
|
|
strh r1, [r4, #6]
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #4]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _021E7C38
|
|
add r0, r5, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E7C38
|
|
add r1, sp, #0
|
|
ldrh r2, [r1, #2]
|
|
ldrh r1, [r1]
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02001464
|
|
add r6, r0, #0
|
|
mov r0, #0x49
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
strb r1, [r5, r0]
|
|
_021E7C38:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021E7C6E
|
|
add r0, r0, #1
|
|
cmp r6, r0
|
|
bne _021E7CAC
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200145C
|
|
cmp r0, #1
|
|
bne _021E7C5E
|
|
add r0, r5, #0
|
|
mov r1, #0x24
|
|
bl MOD75_021EA0CC
|
|
b _021E7CD2
|
|
_021E7C5E:
|
|
cmp r0, #2
|
|
bne _021E7CD2
|
|
mov r1, #0x23
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
b _021E7CD2
|
|
_021E7C6E:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #5
|
|
bne _021E7C82
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7C82:
|
|
ldr r0, _021E7CDC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r0, #0x66
|
|
strh r1, [r0]
|
|
add r5, #0xc4
|
|
ldr r0, [r5]
|
|
mov r1, #5
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add sp, #4
|
|
mov r0, #3
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7CAC:
|
|
ldr r0, _021E7CDC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r0, [r4]
|
|
lsl r2, r6, #2
|
|
ldrh r1, [r0, r2]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add sp, #4
|
|
add r0, #0x66
|
|
strh r1, [r0]
|
|
ldr r0, [r4]
|
|
add r0, r0, r2
|
|
ldrh r1, [r0, #2]
|
|
ldr r0, _021E7CE0 ; =0x0000048A
|
|
strh r1, [r5, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7CD2:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E7CD8: .word 0x021C48B8
|
|
_021E7CDC: .word 0x000005DC
|
|
_021E7CE0: .word 0x0000048A
|
|
thumb_func_end MOD75_021E7B7C
|
|
|
|
thumb_func_start MOD75_021E7CE4
|
|
MOD75_021E7CE4: ; 0x021E7CE4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E7D0C ; =0x00000424
|
|
ldrb r2, [r4, r0]
|
|
mov r0, #0xa
|
|
add r1, r2, #0
|
|
mul r1, r0
|
|
mov r0, #0x5a
|
|
sub r0, r0, r1
|
|
add r1, r2, #1
|
|
bl _s32_div_f
|
|
add r1, r0, #6
|
|
ldr r0, _021E7D10 ; =0x00000427
|
|
strb r1, [r4, r0]
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #1
|
|
add r1, r1, #4
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E7D0C: .word 0x00000424
|
|
_021E7D10: .word 0x00000427
|
|
thumb_func_end MOD75_021E7CE4
|
|
|
|
thumb_func_start MOD75_021E7D14
|
|
MOD75_021E7D14: ; 0x021E7D14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E7DF8 ; =0x021C48B8
|
|
ldr r1, [r0, #0x4c]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021E7D88
|
|
ldr r0, _021E7DFC ; =0x00000424
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _021E7D2E
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E7D2E:
|
|
ldr r0, _021E7E00 ; =0x000006CA
|
|
bl FUN_020054C8
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E7D58
|
|
ldr r1, _021E7E04 ; =0x00000429
|
|
sub r0, r0, #1
|
|
strb r0, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, #0x4f
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
sub r0, r0, #1
|
|
b _021E7D68
|
|
_021E7D58:
|
|
ldr r1, _021E7DFC ; =0x00000424
|
|
ldrb r0, [r4, r1]
|
|
sub r2, r0, #1
|
|
add r0, r1, #5
|
|
strb r2, [r4, r0]
|
|
ldrb r0, [r4, r1]
|
|
add r1, #0x54
|
|
sub r0, r0, #1
|
|
_021E7D68:
|
|
strb r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl MOD75_021EC0C4
|
|
ldr r0, _021E7E08 ; =0x0000042A
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD75_021E7E0C
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E7D88:
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021E7DF2
|
|
ldr r0, _021E7DFC ; =0x00000424
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _021E7D9A
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E7D9A:
|
|
ldr r0, _021E7E00 ; =0x000006CA
|
|
bl FUN_020054C8
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r1, _021E7DFC ; =0x00000424
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
add r2, r0, #1
|
|
ldrb r0, [r4, r1]
|
|
cmp r2, r0
|
|
bge _021E7DCA
|
|
add r0, r1, #5
|
|
strb r2, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, #0x54
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
add r0, r0, #1
|
|
strb r0, [r4, r1]
|
|
b _021E7DD4
|
|
_021E7DCA:
|
|
add r0, r1, #5
|
|
mov r2, #0
|
|
strb r2, [r4, r0]
|
|
add r1, #0x54
|
|
strb r2, [r4, r1]
|
|
_021E7DD4:
|
|
add r0, r4, #0
|
|
bl MOD75_021EC0C4
|
|
ldr r0, _021E7E08 ; =0x0000042A
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD75_021E7E0C
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E7DF2:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_021E7DF8: .word 0x021C48B8
|
|
_021E7DFC: .word 0x00000424
|
|
_021E7E00: .word 0x000006CA
|
|
_021E7E04: .word 0x00000429
|
|
_021E7E08: .word 0x0000042A
|
|
thumb_func_end MOD75_021E7D14
|
|
|
|
thumb_func_start MOD75_021E7E0C
|
|
MOD75_021E7E0C: ; 0x021E7E0C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021E7E60
|
|
ldr r0, _021E7E28 ; =0x0000042D
|
|
mov r1, #3
|
|
strb r1, [r4, r0]
|
|
add r1, r0, #3
|
|
ldrb r2, [r4, r1]
|
|
mov r1, #0x80
|
|
add r0, r0, #3
|
|
bic r2, r1
|
|
strb r2, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E7E28: .word 0x0000042D
|
|
thumb_func_end MOD75_021E7E0C
|
|
|
|
thumb_func_start MOD75_021E7E2C
|
|
MOD75_021E7E2C: ; 0x021E7E2C
|
|
push {r4, lr}
|
|
ldr r1, _021E7E58 ; =0x0000042A
|
|
add r4, r0, #0
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #2
|
|
beq _021E7E3E
|
|
bl MOD75_021E7E60
|
|
b _021E7E44
|
|
_021E7E3E:
|
|
mov r2, #2
|
|
add r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
_021E7E44:
|
|
ldr r0, _021E7E5C ; =0x0000042D
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r1, r0, #3
|
|
ldrb r2, [r4, r1]
|
|
mov r1, #0x80
|
|
add r0, r0, #3
|
|
orr r1, r2
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E7E58: .word 0x0000042A
|
|
_021E7E5C: .word 0x0000042D
|
|
thumb_func_end MOD75_021E7E2C
|
|
|
|
thumb_func_start MOD75_021E7E60
|
|
MOD75_021E7E60: ; 0x021E7E60
|
|
push {r4, lr}
|
|
ldr r1, _021E7EE0 ; =0x00000429
|
|
add r4, r0, #0
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
strb r2, [r1, #2]
|
|
strb r2, [r1, #3]
|
|
strb r2, [r1, #5]
|
|
ldrb r3, [r1, #7]
|
|
mov r2, #0xf
|
|
bic r3, r2
|
|
strb r3, [r1, #7]
|
|
ldrb r3, [r1, #7]
|
|
mov r2, #0x70
|
|
bic r3, r2
|
|
strb r3, [r1, #7]
|
|
bl MOD75_021E7AA4
|
|
add r0, r4, #4
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #4
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r1, r4, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r4, #0
|
|
add r1, #0x64
|
|
ldrb r1, [r1]
|
|
mov r2, #0
|
|
bl MOD75_021EA96C
|
|
add r0, r4, #0
|
|
add r4, #0xc4
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
add r1, #0x64
|
|
ldrb r1, [r1]
|
|
bl MOD75_021E84E4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E7EE0: .word 0x00000429
|
|
thumb_func_end MOD75_021E7E60
|
|
|
|
thumb_func_start MOD75_021E7EE4
|
|
MOD75_021E7EE4: ; 0x021E7EE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E8018 ; =0x00000429
|
|
add r4, r5, r0
|
|
bl FUN_02020A98
|
|
cmp r0, #0
|
|
bne _021E7F00
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0x70
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
_021E7F00:
|
|
add r0, r5, #0
|
|
bl MOD75_021E83CC
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021E7F16
|
|
ldrb r0, [r4]
|
|
cmp r6, r0
|
|
beq _021E7F22
|
|
_021E7F16:
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0xf
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
_021E7F22:
|
|
add r0, r5, #0
|
|
bl MOD75_021E8020
|
|
cmp r0, #0
|
|
bne _021E7FB6
|
|
ldrb r0, [r4, #7]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1d
|
|
cmp r0, #1
|
|
bne _021E7FB6
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021E7FB6
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldrb r1, [r4]
|
|
add r0, #0x64
|
|
strb r1, [r0]
|
|
lsl r0, r6, #0x18
|
|
ldrb r1, [r4]
|
|
lsr r0, r0, #0x18
|
|
cmp r1, r0
|
|
bls _021E7F6E
|
|
mov r2, #0
|
|
strb r2, [r4, #1]
|
|
strb r2, [r4, #2]
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
bl MOD75_021E84E4
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD75_021EA96C
|
|
b _021E7F92
|
|
_021E7F6E:
|
|
cmp r1, r0
|
|
bhs _021E7F8E
|
|
mov r0, #1
|
|
strb r0, [r4, #1]
|
|
mov r2, #0
|
|
strb r2, [r4, #2]
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
bl MOD75_021E84E4
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD75_021EA96C
|
|
b _021E7F92
|
|
_021E7F8E:
|
|
mov r0, #2
|
|
strb r0, [r4, #1]
|
|
_021E7F92:
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
strb r0, [r4]
|
|
ldrb r2, [r4, #7]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
strb r2, [r4, #7]
|
|
ldrb r2, [r4, #7]
|
|
mov r1, #0x70
|
|
bic r2, r1
|
|
strb r2, [r4, #7]
|
|
mov r1, #0
|
|
strb r1, [r4, #4]
|
|
ldr r1, _021E801C ; =0x00000478
|
|
strb r0, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD75_021EC0C4
|
|
_021E7FB6:
|
|
add r0, r5, #0
|
|
bl MOD75_021E819C
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD75_021E8424
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD75_021EC0DC
|
|
cmp r6, #1
|
|
bne _021E8012
|
|
cmp r7, #1
|
|
bne _021E8012
|
|
ldrb r0, [r4, #7]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
bne _021E8012
|
|
add r0, r5, #0
|
|
bl MOD75_021EC0AC
|
|
cmp r0, #1
|
|
bne _021E8012
|
|
ldrb r0, [r4, #7]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _021E8004
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl MOD75_021E84E4
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
_021E8004:
|
|
add r5, #0xfc
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8012:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8018: .word 0x00000429
|
|
_021E801C: .word 0x00000478
|
|
thumb_func_end MOD75_021E7EE4
|
|
|
|
thumb_func_start MOD75_021E8020
|
|
MOD75_021E8020: ; 0x021E8020
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E8188 ; =0x021C48B8
|
|
ldr r1, _021E818C ; =0x00000429
|
|
ldr r2, [r0, #0x48]
|
|
mov r0, #0x20
|
|
add r4, r5, r1
|
|
tst r0, r2
|
|
beq _021E80D8
|
|
sub r0, r1, #5
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
bne _021E803E
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E803E:
|
|
ldr r0, _021E8190 ; =0x000006CA
|
|
bl FUN_020054C8
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r3, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldrb r2, [r4]
|
|
mov r1, #0xc
|
|
ldr r0, [r0]
|
|
mul r1, r2
|
|
add r1, r3, r1
|
|
ldrb r1, [r1, #0xc]
|
|
bl FUN_0200C5C0
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD75_021E84E4
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldrb r1, [r4]
|
|
add r0, #0x64
|
|
strb r1, [r0]
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
beq _021E808E
|
|
sub r0, r0, #1
|
|
strb r0, [r4]
|
|
ldr r0, _021E8194 ; =0x00000478
|
|
ldrb r1, [r5, r0]
|
|
sub r1, r1, #1
|
|
b _021E809C
|
|
_021E808E:
|
|
ldr r0, _021E8198 ; =0x00000424
|
|
ldrb r1, [r5, r0]
|
|
sub r1, r1, #1
|
|
strb r1, [r4]
|
|
ldrb r1, [r5, r0]
|
|
add r0, #0x54
|
|
sub r1, r1, #1
|
|
_021E809C:
|
|
strb r1, [r5, r0]
|
|
mov r0, #0
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #1]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0x70
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0xf
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0x80
|
|
bic r1, r0
|
|
strb r1, [r4, #7]
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #3
|
|
beq _021E80CE
|
|
mov r0, #4
|
|
strb r0, [r4, #4]
|
|
_021E80CE:
|
|
add r0, r5, #0
|
|
bl MOD75_021EC0C4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E80D8:
|
|
mov r0, #0x10
|
|
tst r0, r2
|
|
beq _021E8182
|
|
sub r0, r1, #5
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
bne _021E80EA
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E80EA:
|
|
ldr r0, _021E8190 ; =0x000006CA
|
|
bl FUN_020054C8
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r3, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldrb r2, [r4]
|
|
mov r1, #0xc
|
|
ldr r0, [r0]
|
|
mul r1, r2
|
|
add r1, r3, r1
|
|
ldrb r1, [r1, #0xc]
|
|
bl FUN_0200C5C0
|
|
ldrb r1, [r4]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD75_021E84E4
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldrb r1, [r4]
|
|
add r0, #0x64
|
|
strb r1, [r0]
|
|
ldrb r0, [r4]
|
|
ldr r1, _021E8198 ; =0x00000424
|
|
add r2, r0, #1
|
|
ldrb r0, [r5, r1]
|
|
cmp r2, r0
|
|
bge _021E8140
|
|
add r0, r1, #0
|
|
strb r2, [r4]
|
|
add r0, #0x54
|
|
ldrb r0, [r5, r0]
|
|
add r0, r0, #1
|
|
b _021E8144
|
|
_021E8140:
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
_021E8144:
|
|
add r1, #0x54
|
|
strb r0, [r5, r1]
|
|
mov r0, #0
|
|
strb r0, [r4, #2]
|
|
mov r0, #1
|
|
strb r0, [r4, #1]
|
|
ldrb r2, [r4, #7]
|
|
mov r1, #0x70
|
|
bic r2, r1
|
|
mov r1, #0x10
|
|
orr r1, r2
|
|
strb r1, [r4, #7]
|
|
ldrb r2, [r4, #7]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
orr r0, r2
|
|
strb r0, [r4, #7]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0x80
|
|
bic r1, r0
|
|
strb r1, [r4, #7]
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #3
|
|
beq _021E8178
|
|
mov r0, #4
|
|
strb r0, [r4, #4]
|
|
_021E8178:
|
|
add r0, r5, #0
|
|
bl MOD75_021EC0C4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E8182:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E8188: .word 0x021C48B8
|
|
_021E818C: .word 0x00000429
|
|
_021E8190: .word 0x000006CA
|
|
_021E8194: .word 0x00000478
|
|
_021E8198: .word 0x00000424
|
|
thumb_func_end MOD75_021E8020
|
|
|
|
thumb_func_start MOD75_021E819C
|
|
MOD75_021E819C: ; 0x021E819C
|
|
push {r4, r5, r6, lr}
|
|
ldr r1, _021E8300 ; =0x00000429
|
|
add r5, r0, #0
|
|
add r4, r5, r1
|
|
ldrb r1, [r4, #2]
|
|
cmp r1, #0
|
|
beq _021E81B6
|
|
cmp r1, #1
|
|
beq _021E81C2
|
|
cmp r1, #2
|
|
bne _021E81B4
|
|
b _021E82F8
|
|
_021E81B4:
|
|
b _021E82FC
|
|
_021E81B6:
|
|
mov r0, #0
|
|
strb r0, [r4, #3]
|
|
ldrb r0, [r4, #2]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #2]
|
|
b _021E82FC
|
|
_021E81C2:
|
|
ldrb r1, [r4, #3]
|
|
cmp r1, #8
|
|
bhs _021E81D2
|
|
add r1, r1, #1
|
|
strb r1, [r4, #3]
|
|
bl MOD75_021EA8BC
|
|
b _021E82FC
|
|
_021E81D2:
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _021E8206
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r3, [r1]
|
|
add r1, r3, #0
|
|
add r1, #0x64
|
|
ldrb r6, [r1]
|
|
mov r1, #0xc
|
|
add r2, r6, #0
|
|
mul r2, r1
|
|
add r1, r3, #0
|
|
add r1, #0xa
|
|
add r3, #8
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
bl FUN_02001300
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
_021E8206:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldrb r1, [r4]
|
|
add r0, #0x64
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r2, #0x64
|
|
ldrb r3, [r2]
|
|
mov r2, #0xc
|
|
add r0, #0xe0
|
|
mul r2, r3
|
|
add r1, r1, r2
|
|
ldrb r1, [r1, #0xc]
|
|
ldr r0, [r0]
|
|
bl FUN_0200C5C0
|
|
add r0, r5, #0
|
|
bl MOD75_021EA9F8
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r5, #0
|
|
add r1, #0x64
|
|
ldrb r1, [r1]
|
|
mov r2, #1
|
|
bl MOD75_021EA96C
|
|
add r0, r5, #0
|
|
bl MOD75_021E7580
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r3, #0
|
|
add r1, r3, #0
|
|
add r0, #0xa
|
|
add r1, #8
|
|
add r0, r0, r2
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
ldrb r2, [r2, #0xd]
|
|
bl MOD75_021E7758
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r3, #0
|
|
add r1, r3, #0
|
|
add r0, #0xa
|
|
add r1, #8
|
|
add r0, r0, r2
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
ldrb r2, [r2, #0xd]
|
|
mov r3, #9
|
|
bl MOD75_021E7794
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x64
|
|
ldrb r2, [r0]
|
|
mov r0, #0xc
|
|
add r3, r2, #0
|
|
mul r3, r0
|
|
add r2, r1, r3
|
|
ldrh r1, [r2, #0xa]
|
|
ldrh r2, [r2, #8]
|
|
add r0, r5, #0
|
|
bl MOD75_021E77E8
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r5, #0
|
|
add r3, r2, #0
|
|
add r3, #0x64
|
|
ldrb r6, [r3]
|
|
mov r3, #0xc
|
|
add r0, #0xf0
|
|
mul r3, r6
|
|
add r2, r2, r3
|
|
ldrh r2, [r2, #8]
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #4
|
|
add r2, #0x18
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
add r5, #0xf0
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
ldrb r0, [r4, #2]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #2]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E82F8:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E82FC:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E8300: .word 0x00000429
|
|
thumb_func_end MOD75_021E819C
|
|
|
|
thumb_func_start MOD75_021E8304
|
|
MOD75_021E8304: ; 0x021E8304
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021E8374
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E8318
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E8318:
|
|
ldr r2, _021E836C ; =0x00000424
|
|
ldrb r1, [r4, r2]
|
|
cmp r1, #1
|
|
bne _021E8324
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E8324:
|
|
add r1, r4, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r1, #0x64
|
|
ldrb r3, [r1]
|
|
lsl r1, r0, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r3, r1
|
|
bne _021E833E
|
|
mov r3, #2
|
|
add r1, r2, #6
|
|
strb r3, [r4, r1]
|
|
b _021E8350
|
|
_021E833E:
|
|
cmp r3, r1
|
|
bls _021E834A
|
|
mov r3, #0
|
|
add r1, r2, #6
|
|
strb r3, [r4, r1]
|
|
b _021E8350
|
|
_021E834A:
|
|
mov r3, #1
|
|
add r1, r2, #6
|
|
strb r3, [r4, r1]
|
|
_021E8350:
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, _021E8370 ; =0x00000429
|
|
strb r1, [r4, r0]
|
|
add r0, #0x4f
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD75_021EC0C4
|
|
add r0, r4, #0
|
|
bl MOD75_021E7E2C
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E836C: .word 0x00000424
|
|
_021E8370: .word 0x00000429
|
|
thumb_func_end MOD75_021E8304
|
|
|
|
thumb_func_start MOD75_021E8374
|
|
MOD75_021E8374: ; 0x021E8374
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, _021E83BC ; =0x00000424
|
|
ldrb r0, [r5, r0]
|
|
lsl r1, r0, #3
|
|
ldr r0, _021E83C0 ; =0x021EC628
|
|
ldr r0, [r0, r1]
|
|
bl FUN_02020988
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021E83B6
|
|
ldr r1, _021E83C4 ; =0x0000FFFE
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r3, _021E83C8 ; =0x021C48F8
|
|
ldr r0, [r5]
|
|
ldrh r2, [r3, #0x1c]
|
|
ldrh r3, [r3, #0x1e]
|
|
mov r1, #4
|
|
bl FUN_0201AFBC
|
|
cmp r0, #0
|
|
bne _021E83B6
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021E83B6:
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E83BC: .word 0x00000424
|
|
_021E83C0: .word 0x021EC628
|
|
_021E83C4: .word 0x0000FFFE
|
|
_021E83C8: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E8374
|
|
|
|
thumb_func_start MOD75_021E83CC
|
|
MOD75_021E83CC: ; 0x021E83CC
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, _021E8414 ; =0x00000424
|
|
ldrb r0, [r5, r0]
|
|
lsl r1, r0, #3
|
|
ldr r0, _021E8418 ; =0x021EC628
|
|
ldr r0, [r0, r1]
|
|
bl FUN_02020968
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021E840E
|
|
ldr r1, _021E841C ; =0x0000FFFE
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r3, _021E8420 ; =0x021C48F8
|
|
ldr r0, [r5]
|
|
ldrh r2, [r3, #0x1c]
|
|
ldrh r3, [r3, #0x1e]
|
|
mov r1, #4
|
|
bl FUN_0201AFBC
|
|
cmp r0, #0
|
|
bne _021E840E
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021E840E:
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E8414: .word 0x00000424
|
|
_021E8418: .word 0x021EC628
|
|
_021E841C: .word 0x0000FFFE
|
|
_021E8420: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E83CC
|
|
|
|
thumb_func_start MOD75_021E8424
|
|
MOD75_021E8424: ; 0x021E8424
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E84D4 ; =0x00000429
|
|
add r4, r5, r0
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #4
|
|
bhi _021E84CA
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E843E: ; jump table
|
|
.short _021E8448 - _021E843E - 2 ; case 0
|
|
.short _021E8460 - _021E843E - 2 ; case 1
|
|
.short _021E84B0 - _021E843E - 2 ; case 2
|
|
.short _021E84BE - _021E843E - 2 ; case 3
|
|
.short _021E84C2 - _021E843E - 2 ; case 4
|
|
_021E8448:
|
|
mov r0, #0
|
|
strb r0, [r4, #5]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
ldrb r0, [r4]
|
|
strb r0, [r4, #6]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _021E84CA
|
|
_021E8460:
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #3
|
|
bne _021E84CA
|
|
ldr r0, _021E84D8 ; =0x000005E4
|
|
bl FUN_020054C8
|
|
ldrb r1, [r4, #6]
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
bl MOD75_021E84E4
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
ldrb r0, [r4, #6]
|
|
lsl r3, r0, #1
|
|
ldr r0, _021E84DC ; =0x00000424
|
|
ldrb r0, [r5, r0]
|
|
lsl r1, r0, #3
|
|
ldr r0, _021E84E0 ; =0x021EC624
|
|
ldr r2, [r0, r1]
|
|
add r0, r5, #0
|
|
ldrb r1, [r2, r3]
|
|
add r3, r3, #1
|
|
ldrb r2, [r2, r3]
|
|
lsl r1, r1, #3
|
|
add r1, #0x14
|
|
lsl r2, r2, #3
|
|
add r2, #0x14
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r2, #0x10
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD75_021EC380
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _021E84CA
|
|
_021E84B0:
|
|
ldrb r1, [r4, #5]
|
|
cmp r1, #7
|
|
bne _021E84CA
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E84BE:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E84C2:
|
|
mov r0, #3
|
|
strb r0, [r4, #4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E84CA:
|
|
ldrb r0, [r4, #5]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #5]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E84D4: .word 0x00000429
|
|
_021E84D8: .word 0x000005E4
|
|
_021E84DC: .word 0x00000424
|
|
_021E84E0: .word 0x021EC624
|
|
thumb_func_end MOD75_021E8424
|
|
|
|
thumb_func_start MOD75_021E84E4
|
|
MOD75_021E84E4: ; 0x021E84E4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
mov r1, #4
|
|
add r6, r2, #0
|
|
bl FUN_0201886C
|
|
add r7, r0, #0
|
|
ldr r0, _021E856C ; =0x00000424
|
|
ldrb r0, [r4, r0]
|
|
add r4, #0xc4
|
|
lsl r1, r0, #3
|
|
ldr r0, _021E8570 ; =0x021EC624
|
|
ldr r1, [r0, r1]
|
|
lsl r0, r5, #1
|
|
add r2, r1, r0
|
|
ldr r1, [r4]
|
|
mov r0, #0xc
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
ldrb r3, [r0, #0xc]
|
|
lsl r0, r6, #2
|
|
add r1, r6, r0
|
|
lsr r5, r3, #1
|
|
mov r0, #0x96
|
|
mul r0, r5
|
|
mov r5, #1
|
|
and r5, r3
|
|
mov r3, #0xf
|
|
mul r3, r5
|
|
add r0, r0, r3
|
|
add r0, #0x1e
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r4, #0
|
|
mov ip, r0
|
|
_021E8530:
|
|
mov r0, #0x1e
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
mov r0, ip
|
|
mov r3, #0
|
|
add r5, r0, r1
|
|
_021E853C:
|
|
ldrb r6, [r2, #1]
|
|
mov r0, #2
|
|
add r1, r3, r5
|
|
lsl r0, r0, #0xc
|
|
add r1, r1, r0
|
|
add r6, r4, r6
|
|
lsl r6, r6, #5
|
|
ldrb r0, [r2]
|
|
add r6, r3, r6
|
|
add r0, r0, r6
|
|
lsl r0, r0, #1
|
|
strh r1, [r7, r0]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
cmp r3, #5
|
|
blo _021E853C
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #5
|
|
blo _021E8530
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E856C: .word 0x00000424
|
|
_021E8570: .word 0x021EC624
|
|
thumb_func_end MOD75_021E84E4
|
|
|
|
thumb_func_start MOD75_021E8574
|
|
MOD75_021E8574: ; 0x021E8574
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #4
|
|
bl FUN_0201886C
|
|
mov ip, r0
|
|
add r1, r4, #0
|
|
mov r0, #6
|
|
mul r1, r0
|
|
ldr r0, _021E85D4 ; =0x00000276
|
|
mov r4, #3
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
mov r6, #0
|
|
lsr r7, r0, #0x10
|
|
lsl r4, r4, #0xc
|
|
_021E8598:
|
|
mov r0, #0x1e
|
|
mul r0, r6
|
|
add r2, r7, r0
|
|
add r0, r6, #7
|
|
lsl r3, r0, #6
|
|
mov r0, ip
|
|
mov r1, #0
|
|
add r3, r0, r3
|
|
_021E85A8:
|
|
add r0, r1, r2
|
|
lsl r5, r1, #1
|
|
add r0, r0, r4
|
|
add r5, r3, r5
|
|
strh r0, [r5, #0x1a]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, #6
|
|
blo _021E85A8
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
cmp r6, #6
|
|
blo _021E8598
|
|
ldr r0, [sp]
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
bl FUN_0201AC68
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E85D4: .word 0x00000276
|
|
thumb_func_end MOD75_021E8574
|
|
|
|
thumb_func_start MOD75_021E85D8
|
|
MOD75_021E85D8: ; 0x021E85D8
|
|
push {r4, lr}
|
|
mov r1, #0x49
|
|
add r4, r0, #0
|
|
lsl r1, r1, #4
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #3
|
|
bhi _021E8674
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E85F2: ; jump table
|
|
.short _021E8674 - _021E85F2 - 2 ; case 0
|
|
.short _021E85FA - _021E85F2 - 2 ; case 1
|
|
.short _021E8622 - _021E85F2 - 2 ; case 2
|
|
.short _021E864E - _021E85F2 - 2 ; case 3
|
|
_021E85FA:
|
|
mov r1, #0x80
|
|
mov r2, #0x50
|
|
bl MOD75_021EC380
|
|
ldr r0, _021E8678 ; =0x000005E4
|
|
bl FUN_020054C8
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD75_021E8574
|
|
ldr r0, _021E867C ; =0x00000491
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
sub r1, r0, #1
|
|
ldrb r1, [r4, r1]
|
|
sub r0, r0, #1
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E8622:
|
|
add r2, r1, #1
|
|
ldrb r2, [r4, r2]
|
|
cmp r2, #3
|
|
bne _021E8642
|
|
mov r1, #1
|
|
bl MOD75_021E8574
|
|
mov r0, #0x49
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r1, #0
|
|
add r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E8642:
|
|
add r0, r1, #1
|
|
ldrb r0, [r4, r0]
|
|
add r2, r0, #1
|
|
add r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E864E:
|
|
add r2, r1, #1
|
|
ldrb r2, [r4, r2]
|
|
cmp r2, #2
|
|
bne _021E866A
|
|
mov r1, #0
|
|
bl MOD75_021E8574
|
|
mov r0, #0x49
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
strb r1, [r4, r0]
|
|
add r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E866A:
|
|
add r0, r1, #1
|
|
ldrb r0, [r4, r0]
|
|
add r2, r0, #1
|
|
add r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
_021E8674:
|
|
pop {r4, pc}
|
|
nop
|
|
_021E8678: .word 0x000005E4
|
|
_021E867C: .word 0x00000491
|
|
thumb_func_end MOD75_021E85D8
|
|
|
|
thumb_func_start MOD75_021E8680
|
|
MOD75_021E8680: ; 0x021E8680
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
bl MOD75_021E8574
|
|
ldr r0, _021E86BC ; =0x00000424
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _021E86B2
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _021E86B2
|
|
ldr r6, _021E86BC ; =0x00000424
|
|
add r7, r4, #0
|
|
_021E869C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD75_021E84E4
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldrb r0, [r5, r6]
|
|
cmp r4, r0
|
|
blo _021E869C
|
|
_021E86B2:
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E86BC: .word 0x00000424
|
|
thumb_func_end MOD75_021E8680
|
|
|
|
thumb_func_start MOD75_021E86C0
|
|
MOD75_021E86C0: ; 0x021E86C0
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, _021E87B4 ; =0x00000481
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0
|
|
bne _021E87A2
|
|
sub r0, r0, #1
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #3
|
|
bhi _021E8794
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E86E2: ; jump table
|
|
.short _021E86EA - _021E86E2 - 2 ; case 0
|
|
.short _021E86EA - _021E86E2 - 2 ; case 1
|
|
.short _021E8740 - _021E86E2 - 2 ; case 2
|
|
.short _021E8740 - _021E86E2 - 2 ; case 3
|
|
_021E86EA:
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
add r1, #2
|
|
add r2, sp, #0
|
|
bl FUN_0200C7A0
|
|
add r3, sp, #0
|
|
mov r1, #2
|
|
ldrsh r0, [r3, r1]
|
|
mov r2, #0
|
|
sub r0, r0, #1
|
|
strh r0, [r3, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r0]
|
|
bl FUN_0200C714
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
add r1, #2
|
|
add r2, sp, #0
|
|
bl FUN_0200C7A0
|
|
add r3, sp, #0
|
|
mov r1, #2
|
|
ldrsh r0, [r3, r1]
|
|
mov r2, #0
|
|
add r0, r0, #1
|
|
strh r0, [r3, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r0]
|
|
bl FUN_0200C714
|
|
b _021E8794
|
|
_021E8740:
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
add r1, #2
|
|
add r2, sp, #0
|
|
bl FUN_0200C7A0
|
|
add r3, sp, #0
|
|
mov r1, #2
|
|
ldrsh r0, [r3, r1]
|
|
mov r2, #0
|
|
add r0, r0, #1
|
|
strh r0, [r3, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r0]
|
|
bl FUN_0200C714
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
add r1, #2
|
|
add r2, sp, #0
|
|
bl FUN_0200C7A0
|
|
add r3, sp, #0
|
|
mov r1, #2
|
|
ldrsh r0, [r3, r1]
|
|
mov r2, #0
|
|
sub r0, r0, #1
|
|
strh r0, [r3, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r0]
|
|
bl FUN_0200C714
|
|
_021E8794:
|
|
mov r1, #0x12
|
|
lsl r1, r1, #6
|
|
ldrb r0, [r4, r1]
|
|
add r2, r0, #1
|
|
mov r0, #3
|
|
and r0, r2
|
|
strb r0, [r4, r1]
|
|
_021E87A2:
|
|
ldr r1, _021E87B4 ; =0x00000481
|
|
ldrb r0, [r4, r1]
|
|
add r2, r0, #1
|
|
mov r0, #3
|
|
and r0, r2
|
|
strb r0, [r4, r1]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021E87B4: .word 0x00000481
|
|
thumb_func_end MOD75_021E86C0
|
|
|
|
thumb_func_start MOD75_021E87B8
|
|
MOD75_021E87B8: ; 0x021E87B8
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, _021E87FC ; =0x021EC3F4
|
|
bl FUN_02020988
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021E87F4
|
|
ldr r1, _021E8800 ; =0x0000FFFE
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r3, _021E8804 ; =0x021C48F8
|
|
ldr r0, [r4]
|
|
ldrh r2, [r3, #0x1c]
|
|
ldrh r3, [r3, #0x1e]
|
|
mov r1, #4
|
|
bl FUN_0201AFBC
|
|
cmp r0, #0
|
|
beq _021E87EE
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E87EE:
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E87F4:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_021E87FC: .word 0x021EC3F4
|
|
_021E8800: .word 0x0000FFFE
|
|
_021E8804: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E87B8
|
|
|
|
thumb_func_start MOD75_021E8808
|
|
MOD75_021E8808: ; 0x021E8808
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r4, #6]
|
|
ldrh r1, [r4, #4]
|
|
ldr r0, [r5, r0]
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02001464
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E883C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E883C:
|
|
add r5, #0xc4
|
|
ldr r0, [r5]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E884C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E884C:
|
|
ldrb r0, [r4, #8]
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bls _021E885C
|
|
mov r0, #1
|
|
b _021E885E
|
|
_021E885C:
|
|
mov r0, #0
|
|
_021E885E:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD75_021E8808
|
|
|
|
thumb_func_start MOD75_021E8864
|
|
MOD75_021E8864: ; 0x021E8864
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r3, r2, r0
|
|
ldr r1, _021E88B4 ; =0x0000047A
|
|
mov r0, #1
|
|
strb r0, [r4, r1]
|
|
ldrh r2, [r3, #6]
|
|
ldrh r0, [r3, #4]
|
|
add r2, r2, r0
|
|
add r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
mov r0, #0x57
|
|
add r1, r1, #1
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02001464
|
|
ldr r1, _021E88B8 ; =0x0000047C
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl MOD75_021EB3D8
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02001328
|
|
add r0, r4, #0
|
|
bl MOD75_021E8AAC
|
|
pop {r4, pc}
|
|
nop
|
|
_021E88B4: .word 0x0000047A
|
|
_021E88B8: .word 0x0000047C
|
|
thumb_func_end MOD75_021E8864
|
|
|
|
thumb_func_start MOD75_021E88BC
|
|
MOD75_021E88BC: ; 0x021E88BC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
bl MOD75_021EA3F4
|
|
cmp r0, #1
|
|
bne _021E88D0
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E88D0:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #6
|
|
add r2, r4, #4
|
|
bl FUN_02001448
|
|
add r0, r5, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E8912
|
|
ldr r0, _021E89E8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
bl MOD75_021E89F0
|
|
mov r1, #0x49
|
|
mov r0, #1
|
|
lsl r1, r1, #4
|
|
add sp, #4
|
|
strb r0, [r5, r1]
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E8912:
|
|
ldr r0, _021E89EC ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021E892E
|
|
ldr r0, _021E89E8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
bl MOD75_021E89F0
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E892E:
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001204
|
|
add r6, r0, #0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
add r1, sp, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #2
|
|
add r2, sp, #0
|
|
bl FUN_02001448
|
|
add r0, sp, #0
|
|
ldrh r2, [r0]
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, r2
|
|
beq _021E896A
|
|
sub r2, r2, #1
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xf4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
_021E896A:
|
|
add r0, sp, #0
|
|
ldrh r1, [r0, #2]
|
|
strh r1, [r4, #6]
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #4]
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021E89AA
|
|
add r0, r0, #1
|
|
cmp r6, r0
|
|
bne _021E89CE
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200145C
|
|
cmp r0, #1
|
|
bne _021E899A
|
|
add r0, r5, #0
|
|
mov r1, #0x24
|
|
bl MOD75_021EA0CC
|
|
b _021E89E0
|
|
_021E899A:
|
|
cmp r0, #2
|
|
bne _021E89E0
|
|
mov r1, #0x23
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
b _021E89E0
|
|
_021E89AA:
|
|
ldr r0, _021E89E8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r0, _021E89EC ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021E89C2
|
|
add r0, r5, #0
|
|
bl MOD75_021E89F0
|
|
b _021E89C8
|
|
_021E89C2:
|
|
add r0, r5, #0
|
|
bl MOD75_021E8A48
|
|
_021E89C8:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E89CE:
|
|
ldr r0, _021E89E8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
bl MOD75_021E89F0
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E89E0:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021E89E8: .word 0x000005DC
|
|
_021E89EC: .word 0x021C48B8
|
|
thumb_func_end MOD75_021E88BC
|
|
|
|
thumb_func_start MOD75_021E89F0
|
|
MOD75_021E89F0: ; 0x021E89F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldrh r2, [r0, #6]
|
|
ldrh r1, [r0, #4]
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r2, r1, #0x10
|
|
ldr r1, _021E8A44 ; =0x0000047B
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, r2
|
|
beq _021E8A3C
|
|
sub r2, r2, #1
|
|
cmp r1, r2
|
|
beq _021E8A3C
|
|
sub r1, r1, #1
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
lsr r1, r1, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl FUN_0206E5B4
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
add r0, r4, #0
|
|
bl MOD75_021E7580
|
|
_021E8A3C:
|
|
add r0, r4, #0
|
|
bl MOD75_021E8A48
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E8A44: .word 0x0000047B
|
|
thumb_func_end MOD75_021E89F0
|
|
|
|
thumb_func_start MOD75_021E8A48
|
|
MOD75_021E8A48: ; 0x021E8A48
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #6
|
|
add r2, r4, #4
|
|
bl FUN_02001300
|
|
mov r0, #0x57
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
ldr r0, _021E8AA4 ; =0x0000047B
|
|
ldrh r1, [r4, #6]
|
|
ldrb r2, [r5, r0]
|
|
ldrh r0, [r4, #4]
|
|
add r1, r1, r0
|
|
cmp r2, r1
|
|
bge _021E8A84
|
|
sub r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
_021E8A84:
|
|
ldr r0, _021E8AA8 ; =0x0000047A
|
|
mov r2, #0
|
|
strb r2, [r5, r0]
|
|
add r1, r0, #1
|
|
strb r2, [r5, r1]
|
|
add r0, r0, #2
|
|
str r2, [r5, r0]
|
|
ldrh r1, [r4, #6]
|
|
ldrh r2, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MOD75_021E77E8
|
|
add r0, r5, #0
|
|
bl MOD75_021E8AAC
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E8AA4: .word 0x0000047B
|
|
_021E8AA8: .word 0x0000047A
|
|
thumb_func_end MOD75_021E8A48
|
|
|
|
thumb_func_start MOD75_021E8AAC
|
|
MOD75_021E8AAC: ; 0x021E8AAC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r2, r2, r0
|
|
ldr r0, _021E8B68 ; =0x0000047A
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E8B18
|
|
ldrh r2, [r2, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #4
|
|
add r2, #0x18
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
ldr r0, _021E8B6C ; =0x00000424
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #1
|
|
beq _021E8B66
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
add r4, #0xec
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
pop {r4, pc}
|
|
_021E8B18:
|
|
ldrh r2, [r2, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
ldr r0, _021E8B6C ; =0x00000424
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #1
|
|
beq _021E8B66
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r4, #0xec
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
_021E8B66:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E8B68: .word 0x0000047A
|
|
_021E8B6C: .word 0x00000424
|
|
thumb_func_end MOD75_021E8AAC
|
|
|
|
thumb_func_start MOD75_021E8B70
|
|
MOD75_021E8B70: ; 0x021E8B70
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
mov r2, #6
|
|
bl FUN_0206E710
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r1, r0, r1
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
ldrb r6, [r1, #0xc]
|
|
cmp r0, #0
|
|
beq _021E8BA8
|
|
b _021E8CB6
|
|
_021E8BA8:
|
|
cmp r6, #4
|
|
bne _021E8BB4
|
|
mov r1, #9
|
|
add r0, sp, #0
|
|
strb r1, [r0]
|
|
add r4, r4, #1
|
|
_021E8BB4:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, r0, #0
|
|
add r1, #0x76
|
|
ldrh r1, [r1]
|
|
lsl r1, r1, #0x10
|
|
lsr r2, r1, #0x11
|
|
ldr r1, _021E8CE8 ; =0x0000FFFE
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
cmp r1, #1
|
|
bhi _021E8BEC
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #5
|
|
bne _021E8C66
|
|
mov r1, #2
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
add r4, r4, #1
|
|
b _021E8C66
|
|
_021E8BEC:
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl FUN_0206E7DC
|
|
cmp r0, #0
|
|
beq _021E8C66
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
ldr r2, _021E8CEC ; =0x000001C2
|
|
add r0, r1, #0
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
cmp r0, r2
|
|
bne _021E8C20
|
|
add r2, r1, #0
|
|
add r2, #0x76
|
|
ldrh r2, [r2]
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
cmp r2, #1
|
|
bne _021E8C20
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
b _021E8C64
|
|
_021E8C20:
|
|
add r2, r1, #0
|
|
add r2, #0x64
|
|
ldrb r3, [r2]
|
|
mov r2, #0xc
|
|
mul r2, r3
|
|
add r2, r1, r2
|
|
ldrb r3, [r2, #0xc]
|
|
cmp r3, #5
|
|
bne _021E8C3A
|
|
mov r1, #2
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
b _021E8C64
|
|
_021E8C3A:
|
|
ldr r2, _021E8CF0 ; =0x000001C1
|
|
cmp r0, r2
|
|
bne _021E8C48
|
|
mov r1, #4
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
b _021E8C64
|
|
_021E8C48:
|
|
cmp r3, #4
|
|
bne _021E8C5E
|
|
ldr r0, [r1, #0x70]
|
|
bl FUN_0205D51C
|
|
cmp r0, #1
|
|
bne _021E8C5E
|
|
mov r1, #3
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
b _021E8C64
|
|
_021E8C5E:
|
|
mov r1, #0
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
_021E8C64:
|
|
add r4, r4, #1
|
|
_021E8C66:
|
|
add r0, r7, #0
|
|
mov r1, #3
|
|
bl FUN_0206E7DC
|
|
cmp r0, #0
|
|
bne _021E8C84
|
|
mov r0, #8
|
|
add r1, sp, #0
|
|
strb r0, [r1, r4]
|
|
add r4, r4, #1
|
|
cmp r6, #3
|
|
beq _021E8C84
|
|
mov r0, #5
|
|
strb r0, [r1, r4]
|
|
add r4, r4, #1
|
|
_021E8C84:
|
|
add r0, r7, #0
|
|
mov r1, #4
|
|
bl FUN_0206E7DC
|
|
cmp r0, #0
|
|
beq _021E8CCC
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
bl FUN_0206EBC4
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r1, #0x66
|
|
ldrh r1, [r1]
|
|
cmp r1, r0
|
|
bne _021E8CAC
|
|
mov r1, #7
|
|
b _021E8CAE
|
|
_021E8CAC:
|
|
mov r1, #6
|
|
_021E8CAE:
|
|
add r0, sp, #0
|
|
strb r1, [r0, r4]
|
|
add r4, r4, #1
|
|
b _021E8CCC
|
|
_021E8CB6:
|
|
add r0, #0xfc
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _021E8CCC
|
|
mov r1, #0xa
|
|
add r0, sp, #0
|
|
strb r1, [r0]
|
|
mov r1, #9
|
|
strb r1, [r0, #1]
|
|
add r4, r4, #2
|
|
_021E8CCC:
|
|
add r2, r4, #1
|
|
lsl r2, r2, #0x18
|
|
mov r0, #0xb
|
|
add r1, sp, #0
|
|
strb r0, [r1, r4]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl MOD75_021EB130
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E8CE8: .word 0x0000FFFE
|
|
_021E8CEC: .word 0x000001C2
|
|
_021E8CF0: .word 0x000001C1
|
|
thumb_func_end MOD75_021E8B70
|
|
|
|
thumb_func_start MOD75_021E8CF4
|
|
MOD75_021E8CF4: ; 0x021E8CF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl MOD75_021EA510
|
|
cmp r0, #1
|
|
bne _021E8D04
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021E8D04:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001C78
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _021E8D38
|
|
add r0, r5, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E8D38
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001DDC
|
|
add r4, r0, #0
|
|
mov r0, #0x49
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
strb r1, [r5, r0]
|
|
_021E8D38:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021E8D6E
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _021E8DA0
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001E60
|
|
cmp r0, #1
|
|
bne _021E8D5E
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl MOD75_021EA0CC
|
|
b _021E8DA6
|
|
_021E8D5E:
|
|
cmp r0, #2
|
|
bne _021E8DA6
|
|
mov r1, #0x11
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
b _021E8DA6
|
|
_021E8D6E:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
add r0, r5, #0
|
|
bl MOD75_021EB344
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #3
|
|
bne _021E8D9C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD75_021E8DAC
|
|
_021E8D9C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E8DA0:
|
|
add r0, r5, #0
|
|
blx r4
|
|
pop {r3, r4, r5, pc}
|
|
_021E8DA6:
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E8CF4
|
|
|
|
thumb_func_start MOD75_021E8DAC
|
|
MOD75_021E8DAC: ; 0x021E8DAC
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
bne _021E8DDA
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r2, _021E8E08 ; =0x021EC5C0
|
|
mov r1, #1
|
|
mov r3, #0
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
b _021E8DFC
|
|
_021E8DDA:
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r2, _021E8E0C ; =0x021EC5F2
|
|
mov r1, #1
|
|
mov r3, #0
|
|
bl FUN_02018148
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
_021E8DFC:
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl FUN_0201AC68
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021E8E08: .word 0x021EC5C0
|
|
_021E8E0C: .word 0x021EC5F2
|
|
thumb_func_end MOD75_021E8DAC
|
|
|
|
thumb_func_start MOD75_021E8E10
|
|
MOD75_021E8E10: ; 0x021E8E10
|
|
lsl r1, r0, #2
|
|
ldr r0, _021E8E18 ; =0x021EC590
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_021E8E18: .word 0x021EC590
|
|
thumb_func_end MOD75_021E8E10
|
|
|
|
thumb_func_start MOD75_021E8E1C
|
|
MOD75_021E8E1C: ; 0x021E8E1C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
bl MOD75_021EB344
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #6
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
add r2, r1, #0
|
|
bl FUN_0206E7B8
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
mov r0, #2
|
|
lsr r1, r1, #0x10
|
|
bl FUN_0205CE48
|
|
add r1, r0, #0
|
|
beq _021E8E9C
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x70]
|
|
blx r1
|
|
add r3, r0, #0
|
|
beq _021E8E9C
|
|
mov r0, #6
|
|
add r2, r4, #0
|
|
str r0, [sp]
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
add r0, r4, #0
|
|
mov r1, #0xfe
|
|
add r2, #0x66
|
|
add r0, #0xcc
|
|
lsl r1, r1, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, r1]
|
|
bl FUN_0206E51C
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
ldr r2, _021E8EA8 ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E8EAC ; =0x00000426
|
|
add sp, #4
|
|
strb r0, [r4, r1]
|
|
mov r0, #0xc
|
|
pop {r3, r4, pc}
|
|
_021E8E9C:
|
|
add r0, r4, #0
|
|
bl MOD75_021E8F10
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021E8EA8: .word 0x000003D9
|
|
_021E8EAC: .word 0x00000426
|
|
thumb_func_end MOD75_021E8E1C
|
|
|
|
thumb_func_start MOD75_021E8EB0
|
|
MOD75_021E8EB0: ; 0x021E8EB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E8F04 ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E8F00
|
|
ldr r0, _021E8F08 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _021E8ED2
|
|
ldr r0, _021E8F0C ; =0x021C48F8
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021E8F00
|
|
_021E8ED2:
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bne _021E8EFC
|
|
mov r0, #0x17
|
|
pop {r4, pc}
|
|
_021E8EFC:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E8F00:
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E8F04: .word 0x00000426
|
|
_021E8F08: .word 0x021C48B8
|
|
_021E8F0C: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E8EB0
|
|
|
|
thumb_func_start MOD75_021E8F10
|
|
MOD75_021E8F10: ; 0x021E8F10
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r2, r2, r0
|
|
ldr r1, _021E8FB0 ; =0x00000483
|
|
mov r0, #0
|
|
strb r0, [r4, r1]
|
|
ldrb r0, [r2, #8]
|
|
cmp r0, #3
|
|
bne _021E8F3A
|
|
ldr r2, _021E8FB4 ; =MOD75_021E8FD8
|
|
add r0, r1, #1
|
|
str r2, [r4, r0]
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
_021E8F3A:
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
sub r1, #0x8b
|
|
ldr r0, [r2]
|
|
add r2, #0x66
|
|
ldrh r2, [r2]
|
|
ldr r1, [r4, r1]
|
|
mov r3, #6
|
|
bl FUN_0206E3F8
|
|
cmp r0, #1
|
|
bne _021E8F7A
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
ldr r2, _021E8FB8 ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E8FBC ; =0x00000426
|
|
strb r0, [r4, r1]
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
_021E8F7A:
|
|
add r1, r4, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r4, #0
|
|
add r1, #0x66
|
|
ldrh r1, [r1]
|
|
bl MOD75_021E91B8
|
|
cmp r0, #1
|
|
bne _021E8F98
|
|
ldr r1, _021E8FC0 ; =MOD75_021E9394
|
|
ldr r0, _021E8FC4 ; =0x00000484
|
|
str r1, [r4, r0]
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
_021E8F98:
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #0x18
|
|
pop {r4, pc}
|
|
nop
|
|
_021E8FB0: .word 0x00000483
|
|
_021E8FB4: .word MOD75_021E8FD8
|
|
_021E8FB8: .word 0x000003D9
|
|
_021E8FBC: .word 0x00000426
|
|
_021E8FC0: .word MOD75_021E9394
|
|
_021E8FC4: .word 0x00000484
|
|
thumb_func_end MOD75_021E8F10
|
|
|
|
thumb_func_start MOD75_021E8FC8
|
|
MOD75_021E8FC8: ; 0x021E8FC8
|
|
push {r3, lr}
|
|
ldr r1, _021E8FD4 ; =0x00000484
|
|
ldr r1, [r0, r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
nop
|
|
_021E8FD4: .word 0x00000484
|
|
thumb_func_end MOD75_021E8FC8
|
|
|
|
thumb_func_start MOD75_021E8FD8
|
|
MOD75_021E8FD8: ; 0x021E8FD8
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _021E91A4 ; =0x00000483
|
|
add r4, r0, #0
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #3
|
|
bls _021E8FE6
|
|
b _021E91A0
|
|
_021E8FE6:
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021E8FF2: ; jump table
|
|
.short _021E8FFA - _021E8FF2 - 2 ; case 0
|
|
.short _021E9070 - _021E8FF2 - 2 ; case 1
|
|
.short _021E90D0 - _021E8FF2 - 2 ; case 2
|
|
.short _021E90EA - _021E8FF2 - 2 ; case 3
|
|
_021E8FFA:
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
bl FUN_0206EA30
|
|
add r5, r0, #0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
bl FUN_0200AD5C
|
|
add r0, r5, #0
|
|
bl FUN_0206EA54
|
|
cmp r0, #1
|
|
bne _021E9034
|
|
mov r0, #0x45
|
|
mov r2, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r2, r2, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3b
|
|
bl FUN_0200A8E0
|
|
b _021E9046
|
|
_021E9034:
|
|
mov r0, #0x45
|
|
mov r2, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r2, r2, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3a
|
|
bl FUN_0200A8E0
|
|
_021E9046:
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
ldr r2, _021E91A8 ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E91AC ; =0x00000426
|
|
strb r0, [r4, r1]
|
|
mov r0, #1
|
|
add r1, #0x5d
|
|
strb r0, [r4, r1]
|
|
b _021E91A0
|
|
_021E9070:
|
|
sub r1, #0x5d
|
|
ldrb r0, [r4, r1]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9132
|
|
ldr r0, _021E91B0 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _021E908E
|
|
ldr r0, _021E91B4 ; =0x021C48F8
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021E9132
|
|
_021E908E:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3c
|
|
bl FUN_0200A914
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E91AC ; =0x00000426
|
|
strb r0, [r4, r1]
|
|
mov r0, #2
|
|
add r1, #0x5d
|
|
strb r0, [r4, r1]
|
|
b _021E91A0
|
|
_021E90D0:
|
|
sub r1, #0x5d
|
|
ldrb r0, [r4, r1]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E91A0
|
|
add r0, r4, #0
|
|
bl MOD75_021EB6E0
|
|
ldr r0, _021E91A4 ; =0x00000483
|
|
mov r1, #3
|
|
strb r1, [r4, r0]
|
|
b _021E91A0
|
|
_021E90EA:
|
|
bl MOD75_021EA510
|
|
cmp r0, #1
|
|
beq _021E91A0
|
|
add r0, r4, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E9114
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
mov r2, #6
|
|
bl FUN_020021CC
|
|
mov r1, #0x49
|
|
mov r2, #1
|
|
lsl r1, r1, #4
|
|
strb r2, [r4, r1]
|
|
b _021E9120
|
|
_021E9114:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #6
|
|
bl FUN_020021AC
|
|
_021E9120:
|
|
cmp r0, #0
|
|
beq _021E9134
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021E917A
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
beq _021E9152
|
|
_021E9132:
|
|
b _021E91A0
|
|
_021E9134:
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021E8DAC
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021E9152:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02001E60
|
|
cmp r0, #1
|
|
bne _021E916A
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
bl MOD75_021EA0CC
|
|
b _021E91A0
|
|
_021E916A:
|
|
cmp r0, #2
|
|
bne _021E91A0
|
|
mov r1, #0x11
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
b _021E91A0
|
|
_021E917A:
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021E8DAC
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E91A0:
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E91A4: .word 0x00000483
|
|
_021E91A8: .word 0x000003D9
|
|
_021E91AC: .word 0x00000426
|
|
_021E91B0: .word 0x021C48B8
|
|
_021E91B4: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E8FD8
|
|
|
|
thumb_func_start MOD75_021E91B8
|
|
MOD75_021E91B8: ; 0x021E91B8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x46
|
|
add r2, r4, #0
|
|
lsl r0, r0, #2
|
|
add r2, #0xcc
|
|
add r5, r1, #0
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r2]
|
|
mov r1, #0
|
|
bl FUN_0200ABC0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
add r2, r5, #0
|
|
bl FUN_0200AE38
|
|
cmp r5, #0x44
|
|
bne _021E9200
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x40
|
|
bl FUN_0200A914
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021E6FFC
|
|
ldr r0, _021E925C ; =0x00000488
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
b _021E923E
|
|
_021E9200:
|
|
cmp r5, #0x45
|
|
bne _021E9222
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3f
|
|
bl FUN_0200A914
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD75_021E6FFC
|
|
ldr r0, _021E925C ; =0x00000488
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
b _021E923E
|
|
_021E9222:
|
|
cmp r5, #0x4d
|
|
beq _021E922E
|
|
cmp r5, #0x4c
|
|
beq _021E922E
|
|
cmp r5, #0x4f
|
|
bne _021E923A
|
|
_021E922E:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD75_021E9260
|
|
add r5, r0, #0
|
|
b _021E923E
|
|
_021E923A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E923E:
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E925C: .word 0x00000488
|
|
thumb_func_end MOD75_021E91B8
|
|
|
|
thumb_func_start MOD75_021E9260
|
|
MOD75_021E9260: ; 0x021E9260
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
bl MOD75_021E6FDC
|
|
bl FUN_0202AB54
|
|
cmp r0, #0
|
|
bne _021E9286
|
|
ldr r0, _021E92B8 ; =0x00000488
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3e
|
|
bl FUN_0200A914
|
|
pop {r3, r4, r5, pc}
|
|
_021E9286:
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r2, #6
|
|
bl FUN_0206E7B8
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD75_021E6FEC
|
|
ldr r0, _021E92B8 ; =0x00000488
|
|
mov r1, #1
|
|
strh r1, [r4, r0]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
bl FUN_020054C8
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3d
|
|
bl FUN_0200A914
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E92B8: .word 0x00000488
|
|
thumb_func_end MOD75_021E9260
|
|
|
|
thumb_func_start MOD75_021E92BC
|
|
MOD75_021E92BC: ; 0x021E92BC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r3, r1, #0
|
|
mul r3, r0
|
|
add r1, r2, r3
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
ldr r3, _021E9390 ; =0x00000488
|
|
ldr r0, [r1, #4]
|
|
ldrb r1, [r1, #0xd]
|
|
add r2, #0x66
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r4, r3]
|
|
sub r1, r1, #3
|
|
bl FUN_0206EE20
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
add r1, r3, #0
|
|
mul r2, r0
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
add r1, #0xa
|
|
ldr r0, [r4, r0]
|
|
add r3, #8
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
bl FUN_02001300
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
add r0, r4, #0
|
|
bl MOD75_021E7580
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r3, #0
|
|
add r1, r3, #0
|
|
add r0, #0xa
|
|
add r1, #8
|
|
add r0, r0, r2
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
ldrb r2, [r2, #0xd]
|
|
bl MOD75_021E7758
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r3, #0
|
|
add r1, r3, #0
|
|
add r0, #0xa
|
|
add r1, #8
|
|
add r0, r0, r2
|
|
add r1, r1, r2
|
|
add r2, r3, r2
|
|
ldrb r2, [r2, #0xd]
|
|
mov r3, #9
|
|
bl MOD75_021E7794
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r2, r3, r2
|
|
ldrh r1, [r2, #0xa]
|
|
ldrh r2, [r2, #8]
|
|
add r0, r4, #0
|
|
bl MOD75_021E77E8
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021E9390: .word 0x00000488
|
|
thumb_func_end MOD75_021E92BC
|
|
|
|
thumb_func_start MOD75_021E9394
|
|
MOD75_021E9394: ; 0x021E9394
|
|
push {r4, lr}
|
|
ldr r1, _021E9428 ; =0x00000483
|
|
add r4, r0, #0
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _021E93AA
|
|
cmp r2, #1
|
|
beq _021E93D2
|
|
cmp r2, #2
|
|
beq _021E9402
|
|
b _021E9422
|
|
_021E93AA:
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
ldr r2, _021E942C ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9430 ; =0x00000426
|
|
strb r0, [r4, r1]
|
|
mov r0, #1
|
|
add r1, #0x5d
|
|
strb r0, [r4, r1]
|
|
b _021E9422
|
|
_021E93D2:
|
|
sub r1, #0x5d
|
|
ldrb r0, [r4, r1]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9422
|
|
ldr r0, _021E9434 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _021E93F0
|
|
ldr r0, _021E9438 ; =0x021C48F8
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021E9422
|
|
_021E93F0:
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _021E9428 ; =0x00000483
|
|
mov r1, #2
|
|
strb r1, [r4, r0]
|
|
b _021E9422
|
|
_021E9402:
|
|
add r1, r1, #5
|
|
ldrsh r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _021E940E
|
|
bl MOD75_021E92BC
|
|
_021E940E:
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E9422:
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
nop
|
|
_021E9428: .word 0x00000483
|
|
_021E942C: .word 0x000003D9
|
|
_021E9430: .word 0x00000426
|
|
_021E9434: .word 0x021C48B8
|
|
_021E9438: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E9394
|
|
|
|
thumb_func_start MOD75_021E943C
|
|
MOD75_021E943C: ; 0x021E943C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021EB344
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #0x18
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E943C
|
|
|
|
thumb_func_start MOD75_021E945C
|
|
MOD75_021E945C: ; 0x021E945C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021EB344
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #0x18
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E945C
|
|
|
|
thumb_func_start MOD75_021E947C
|
|
MOD75_021E947C: ; 0x021E947C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021EB344
|
|
ldr r0, _021E94CC ; =0x00000488
|
|
mov r1, #1
|
|
strh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
mov r3, #6
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r2, r0
|
|
ldr r0, [r1, #4]
|
|
ldrb r1, [r1, #0xd]
|
|
add r2, #0x66
|
|
ldrh r2, [r2]
|
|
sub r1, r1, #3
|
|
bl FUN_0206EF10
|
|
cmp r0, #1
|
|
bne _021E94BA
|
|
add r0, r4, #0
|
|
bl MOD75_021EB5B0
|
|
mov r0, #8
|
|
pop {r4, pc}
|
|
_021E94BA:
|
|
add r0, r4, #0
|
|
bl MOD75_021EB454
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC24C
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E94CC: .word 0x00000488
|
|
thumb_func_end MOD75_021E947C
|
|
|
|
thumb_func_start MOD75_021E94D0
|
|
MOD75_021E94D0: ; 0x021E94D0
|
|
push {r4, lr}
|
|
ldr r2, _021E95AC ; =0x00000488
|
|
add r4, r0, #0
|
|
add r1, r4, r2
|
|
add r2, r2, #2
|
|
ldrh r2, [r4, r2]
|
|
bl MOD75_021EA594
|
|
cmp r0, #1
|
|
bne _021E94EE
|
|
add r0, r4, #0
|
|
bl MOD75_021EB504
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_021E94EE:
|
|
add r0, r4, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E9512
|
|
add r0, r4, #0
|
|
bl MOD75_021EB5B0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC298
|
|
mov r0, #0x49
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
strb r1, [r4, r0]
|
|
mov r0, #8
|
|
pop {r4, pc}
|
|
_021E9512:
|
|
ldr r1, _021E95AC ; =0x00000488
|
|
add r0, r4, r1
|
|
add r1, r1, #2
|
|
ldrh r1, [r4, r1]
|
|
bl FUN_02079AAC
|
|
cmp r0, #0
|
|
beq _021E955E
|
|
cmp r0, #1
|
|
beq _021E952C
|
|
cmp r0, #2
|
|
beq _021E9544
|
|
b _021E955E
|
|
_021E952C:
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
bl MOD75_021EA0CC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB504
|
|
ldr r0, _021E95B0 ; =0x00000638
|
|
bl FUN_020054C8
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_021E9544:
|
|
mov r1, #0x11
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB504
|
|
ldr r0, _021E95B0 ; =0x00000638
|
|
bl FUN_020054C8
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_021E955E:
|
|
ldr r0, _021E95B4 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021E9580
|
|
add r0, r4, #0
|
|
bl MOD75_021EB5B0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC298
|
|
ldr r0, _021E95B8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #8
|
|
pop {r4, pc}
|
|
_021E9580:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021E95A6
|
|
add r0, r4, #0
|
|
bl MOD75_021EB580
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC298
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
ldr r0, _021E95B8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E95A6:
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
nop
|
|
_021E95AC: .word 0x00000488
|
|
_021E95B0: .word 0x00000638
|
|
_021E95B4: .word 0x021C48B8
|
|
_021E95B8: .word 0x000005DC
|
|
thumb_func_end MOD75_021E94D0
|
|
|
|
thumb_func_start MOD75_021E95BC
|
|
MOD75_021E95BC: ; 0x021E95BC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E95DC ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E95D6
|
|
add r0, r4, #0
|
|
bl MOD75_021EB6E0
|
|
mov r0, #9
|
|
pop {r4, pc}
|
|
_021E95D6:
|
|
mov r0, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_021E95DC: .word 0x00000426
|
|
thumb_func_end MOD75_021E95BC
|
|
|
|
thumb_func_start MOD75_021E95E0
|
|
MOD75_021E95E0: ; 0x021E95E0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
bl MOD75_021EA510
|
|
cmp r0, #1
|
|
bne _021E95F4
|
|
add sp, #8
|
|
mov r0, #9
|
|
pop {r3, r4, r5, pc}
|
|
_021E95F4:
|
|
add r0, r5, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E9616
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
mov r2, #6
|
|
bl FUN_020021CC
|
|
mov r1, #0x49
|
|
mov r2, #1
|
|
lsl r1, r1, #4
|
|
strb r2, [r5, r1]
|
|
b _021E9622
|
|
_021E9616:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl FUN_020021AC
|
|
_021E9622:
|
|
cmp r0, #0
|
|
beq _021E9636
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021E96EC
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
beq _021E96C4
|
|
b _021E970C
|
|
_021E9636:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x35
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
ldr r0, _021E9714 ; =0x00000488
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #1
|
|
bne _021E9664
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
mov r0, #0x46
|
|
add r2, #0x66
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AE38
|
|
b _021E967A
|
|
_021E9664:
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
mov r0, #0x46
|
|
add r2, #0x66
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AEA8
|
|
_021E967A:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r0, #0x46
|
|
ldr r2, _021E9714 ; =0x00000488
|
|
str r1, [sp, #4]
|
|
lsl r0, r0, #2
|
|
ldrsh r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9718 ; =0x00000426
|
|
add sp, #8
|
|
strb r0, [r5, r1]
|
|
mov r0, #0xa
|
|
pop {r3, r4, r5, pc}
|
|
_021E96C4:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001E60
|
|
cmp r0, #1
|
|
bne _021E96DC
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl MOD75_021EA0CC
|
|
b _021E970C
|
|
_021E96DC:
|
|
cmp r0, #2
|
|
bne _021E970C
|
|
mov r1, #0x11
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
b _021E970C
|
|
_021E96EC:
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E970C:
|
|
mov r0, #9
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E9714: .word 0x00000488
|
|
_021E9718: .word 0x00000426
|
|
thumb_func_end MOD75_021E95E0
|
|
|
|
thumb_func_start MOD75_021E971C
|
|
MOD75_021E971C: ; 0x021E971C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9748 ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _021E9730
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
_021E9730:
|
|
ldr r0, _021E974C ; =0x00000479
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD75_021E92BC
|
|
add r4, #0x64
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E9748: .word 0x00000426
|
|
_021E974C: .word 0x00000479
|
|
thumb_func_end MOD75_021E971C
|
|
|
|
thumb_func_start MOD75_021E9750
|
|
MOD75_021E9750: ; 0x021E9750
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9798 ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9794
|
|
ldr r0, _021E979C ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _021E9772
|
|
ldr r0, _021E97A0 ; =0x021C48F8
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021E9794
|
|
_021E9772:
|
|
ldr r0, _021E97A4 ; =0x00000479
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E9794:
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E9798: .word 0x00000426
|
|
_021E979C: .word 0x021C48B8
|
|
_021E97A0: .word 0x021C48F8
|
|
_021E97A4: .word 0x00000479
|
|
thumb_func_end MOD75_021E9750
|
|
|
|
thumb_func_start MOD75_021E97A8
|
|
MOD75_021E97A8: ; 0x021E97A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, #0xc8
|
|
add r1, #0x66
|
|
ldrh r1, [r1]
|
|
ldr r0, [r0]
|
|
bl FUN_0206EBCC
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02001328
|
|
add r0, r4, #0
|
|
bl MOD75_021EB344
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E97A8
|
|
|
|
thumb_func_start MOD75_021E97E4
|
|
MOD75_021E97E4: ; 0x021E97E4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0206EBCC
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02001328
|
|
add r0, r4, #0
|
|
bl MOD75_021EB344
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E97E4
|
|
|
|
thumb_func_start MOD75_021E9818
|
|
MOD75_021E9818: ; 0x021E9818
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD75_021EB344
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021E8DAC
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #0x18
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021E9818
|
|
|
|
thumb_func_start MOD75_021E9840
|
|
MOD75_021E9840: ; 0x021E9840
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl MOD75_021E86C0
|
|
add r0, r5, #0
|
|
bl MOD75_021EA2D8
|
|
cmp r0, #1
|
|
bne _021E9856
|
|
mov r0, #0xe
|
|
pop {r3, r4, r5, pc}
|
|
_021E9856:
|
|
add r0, r5, #0
|
|
bl MOD75_021E7D14
|
|
cmp r0, #1
|
|
bne _021E9864
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E9864:
|
|
add r0, r5, #0
|
|
bl MOD75_021E8304
|
|
cmp r0, #1
|
|
bne _021E9872
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E9872:
|
|
add r0, r5, #0
|
|
bl MOD75_021E7B7C
|
|
cmp r0, #1
|
|
bne _021E9912
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
mov r2, #6
|
|
bl FUN_0206E7B8
|
|
cmp r0, #0
|
|
beq _021E98FC
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
ldr r2, _021E9928 ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
mov r0, #0x46
|
|
add r2, #0x66
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AE38
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x2e
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E992C ; =0x00000426
|
|
strb r0, [r5, r1]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MOD75_021EC090
|
|
mov r0, #0xf
|
|
pop {r3, r4, r5, pc}
|
|
_021E98FC:
|
|
add r5, #0xc4
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
mov r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021E9912:
|
|
cmp r0, #3
|
|
bne _021E9924
|
|
add r5, #0xc4
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021E9924:
|
|
mov r0, #0xe
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E9928: .word 0x000003D9
|
|
_021E992C: .word 0x00000426
|
|
thumb_func_end MOD75_021E9840
|
|
|
|
thumb_func_start MOD75_021E9930
|
|
MOD75_021E9930: ; 0x021E9930
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9974 ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9970
|
|
ldr r0, _021E9978 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _021E9952
|
|
ldr r0, _021E997C ; =0x021C48F8
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021E9970
|
|
_021E9952:
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
_021E9970:
|
|
mov r0, #0xf
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E9974: .word 0x00000426
|
|
_021E9978: .word 0x021C48B8
|
|
_021E997C: .word 0x021C48F8
|
|
thumb_func_end MOD75_021E9930
|
|
|
|
thumb_func_start MOD75_021E9980
|
|
MOD75_021E9980: ; 0x021E9980
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
bl MOD75_021E86C0
|
|
add r0, r5, #0
|
|
bl MOD75_021EA2D8
|
|
cmp r0, #1
|
|
bne _021E999A
|
|
add sp, #8
|
|
mov r0, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_021E999A:
|
|
add r0, r5, #0
|
|
bl MOD75_021E7D14
|
|
cmp r0, #1
|
|
bne _021E99AA
|
|
add sp, #8
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E99AA:
|
|
add r0, r5, #0
|
|
bl MOD75_021E8304
|
|
cmp r0, #1
|
|
bne _021E99BA
|
|
add sp, #8
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E99BA:
|
|
add r0, r5, #0
|
|
bl MOD75_021E7B7C
|
|
cmp r0, #1
|
|
beq _021E99C6
|
|
b _021E9B2A
|
|
_021E99C6:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD75_021EB808
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
ldr r2, _021E9B3C ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
mov r0, #0x46
|
|
add r2, #0x66
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AE38
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MOD75_021EC090
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
mov r2, #6
|
|
bl FUN_0206E7B8
|
|
ldr r1, _021E9B40 ; =0x0000048C
|
|
mov r2, #6
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
bl FUN_0206E7B8
|
|
cmp r0, #0
|
|
bne _021E9A38
|
|
ldr r1, _021E9B40 ; =0x0000048C
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #0
|
|
bne _021E9A6E
|
|
_021E9A38:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x4a
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9B44 ; =0x00000426
|
|
add sp, #8
|
|
strb r0, [r5, r1]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_021E9A6E:
|
|
mov r2, #1
|
|
sub r0, r1, #4
|
|
strh r2, [r5, r0]
|
|
ldr r0, [r5, r1]
|
|
mov r3, #6
|
|
lsr r0, r0, #1
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r2, r0
|
|
ldr r0, [r1, #4]
|
|
ldrb r1, [r1, #0xd]
|
|
add r2, #0x66
|
|
ldrh r2, [r2]
|
|
sub r1, r1, #3
|
|
bl FUN_0206EF10
|
|
cmp r0, #1
|
|
bne _021E9AF4
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x4c
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _021E9B48 ; =0x00000488
|
|
mov r0, #0x46
|
|
ldrsh r3, [r5, r2]
|
|
add r2, r2, #4
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
mul r2, r3
|
|
mov r3, #6
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9B44 ; =0x00000426
|
|
add sp, #8
|
|
strb r0, [r5, r1]
|
|
mov r0, #0x13
|
|
pop {r3, r4, r5, pc}
|
|
_021E9AF4:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x4b
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9B44 ; =0x00000426
|
|
add sp, #8
|
|
strb r0, [r5, r1]
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, pc}
|
|
_021E9B2A:
|
|
cmp r0, #3
|
|
bne _021E9B34
|
|
add sp, #8
|
|
mov r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021E9B34:
|
|
mov r0, #0x10
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E9B3C: .word 0x000003D9
|
|
_021E9B40: .word 0x0000048C
|
|
_021E9B44: .word 0x00000426
|
|
_021E9B48: .word 0x00000488
|
|
thumb_func_end MOD75_021E9980
|
|
|
|
thumb_func_start MOD75_021E9B4C
|
|
MOD75_021E9B4C: ; 0x021E9B4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9B80 ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9B7C
|
|
ldr r0, _021E9B84 ; =0x0000048A
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #0x63
|
|
bls _021E9B68
|
|
mov r1, #0x63
|
|
strh r1, [r4, r0]
|
|
_021E9B68:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EB708
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC24C
|
|
mov r0, #0x12
|
|
pop {r4, pc}
|
|
_021E9B7C:
|
|
mov r0, #0x11
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E9B80: .word 0x00000426
|
|
_021E9B84: .word 0x0000048A
|
|
thumb_func_end MOD75_021E9B4C
|
|
|
|
thumb_func_start MOD75_021E9B88
|
|
MOD75_021E9B88: ; 0x021E9B88
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
ldr r2, _021E9D54 ; =0x00000488
|
|
add r4, r0, #0
|
|
add r1, r4, r2
|
|
add r2, r2, #2
|
|
ldrh r2, [r4, r2]
|
|
bl MOD75_021EA594
|
|
cmp r0, #1
|
|
bne _021E9BAC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EB708
|
|
add sp, #8
|
|
mov r0, #0x12
|
|
pop {r3, r4, r5, pc}
|
|
_021E9BAC:
|
|
add r0, r4, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E9C2C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC298
|
|
add r0, r4, #0
|
|
add r0, #0x74
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x4c
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _021E9D54 ; =0x00000488
|
|
mov r0, #0x46
|
|
ldrsh r3, [r4, r2]
|
|
add r2, r2, #4
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
mul r2, r3
|
|
mov r3, #6
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9D58 ; =0x00000426
|
|
add sp, #8
|
|
strb r0, [r4, r1]
|
|
mov r0, #1
|
|
add r1, #0x6a
|
|
strb r0, [r4, r1]
|
|
mov r0, #0x13
|
|
pop {r3, r4, r5, pc}
|
|
_021E9C2C:
|
|
ldr r1, _021E9D54 ; =0x00000488
|
|
add r0, r4, r1
|
|
add r1, r1, #2
|
|
ldrh r1, [r4, r1]
|
|
bl FUN_02079AAC
|
|
cmp r0, #0
|
|
beq _021E9C80
|
|
cmp r0, #1
|
|
beq _021E9C46
|
|
cmp r0, #2
|
|
beq _021E9C62
|
|
b _021E9C80
|
|
_021E9C46:
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
bl MOD75_021EA0CC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EB708
|
|
ldr r0, _021E9D5C ; =0x00000638
|
|
bl FUN_020054C8
|
|
add sp, #8
|
|
mov r0, #0x12
|
|
pop {r3, r4, r5, pc}
|
|
_021E9C62:
|
|
mov r1, #0x11
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EB708
|
|
ldr r0, _021E9D5C ; =0x00000638
|
|
bl FUN_020054C8
|
|
add sp, #8
|
|
mov r0, #0x12
|
|
pop {r3, r4, r5, pc}
|
|
_021E9C80:
|
|
ldr r0, _021E9D60 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021E9D00
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC298
|
|
add r0, r4, #0
|
|
add r0, #0x74
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x4c
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _021E9D54 ; =0x00000488
|
|
mov r0, #0x46
|
|
ldrsh r3, [r4, r2]
|
|
add r2, r2, #4
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
mul r2, r3
|
|
mov r3, #6
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9D58 ; =0x00000426
|
|
strb r0, [r4, r1]
|
|
ldr r0, _021E9D64 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add sp, #8
|
|
mov r0, #0x13
|
|
pop {r3, r4, r5, pc}
|
|
_021E9D00:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021E9D4C
|
|
ldr r0, _021E9D68 ; =0x0000048C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD75_021EC298
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r4, #0
|
|
add r0, #0x74
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
ldr r0, _021E9D64 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add sp, #8
|
|
mov r0, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_021E9D4C:
|
|
mov r0, #0x12
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E9D54: .word 0x00000488
|
|
_021E9D58: .word 0x00000426
|
|
_021E9D5C: .word 0x00000638
|
|
_021E9D60: .word 0x021C48B8
|
|
_021E9D64: .word 0x000005DC
|
|
_021E9D68: .word 0x0000048C
|
|
thumb_func_end MOD75_021E9B88
|
|
|
|
thumb_func_start MOD75_021E9D6C
|
|
MOD75_021E9D6C: ; 0x021E9D6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9D8C ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9D86
|
|
add r0, r4, #0
|
|
bl MOD75_021EB6E0
|
|
mov r0, #0x14
|
|
pop {r4, pc}
|
|
_021E9D86:
|
|
mov r0, #0x13
|
|
pop {r4, pc}
|
|
nop
|
|
_021E9D8C: .word 0x00000426
|
|
thumb_func_end MOD75_021E9D6C
|
|
|
|
thumb_func_start MOD75_021E9D90
|
|
MOD75_021E9D90: ; 0x021E9D90
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
bl MOD75_021EA510
|
|
cmp r0, #1
|
|
bne _021E9DA4
|
|
add sp, #8
|
|
mov r0, #0x14
|
|
pop {r3, r4, r5, pc}
|
|
_021E9DA4:
|
|
add r0, r5, #0
|
|
bl MOD75_021E87B8
|
|
cmp r0, #1
|
|
bne _021E9DC6
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
mov r2, #6
|
|
bl FUN_020021CC
|
|
mov r1, #0x49
|
|
mov r2, #1
|
|
lsl r1, r1, #4
|
|
strb r2, [r5, r1]
|
|
b _021E9DD2
|
|
_021E9DC6:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl FUN_020021AC
|
|
_021E9DD2:
|
|
cmp r0, #0
|
|
beq _021E9DE6
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021E9EA2
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
beq _021E9E7A
|
|
b _021E9ED2
|
|
_021E9DE6:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x4d
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
ldr r0, _021E9ED8 ; =0x00000488
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #1
|
|
ble _021E9E14
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
mov r0, #0x46
|
|
add r2, #0x66
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AEA8
|
|
b _021E9E2A
|
|
_021E9E14:
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
mov r0, #0x46
|
|
add r2, #0x66
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AE38
|
|
_021E9E2A:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r0, #0x46
|
|
ldr r2, _021E9ED8 ; =0x00000488
|
|
str r1, [sp, #4]
|
|
ldrsh r3, [r5, r2]
|
|
add r2, r2, #4
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
mul r2, r3
|
|
mov r3, #6
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021E9EDC ; =0x00000426
|
|
add sp, #8
|
|
strb r0, [r5, r1]
|
|
mov r0, #0x15
|
|
pop {r3, r4, r5, pc}
|
|
_021E9E7A:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001E60
|
|
cmp r0, #1
|
|
bne _021E9E92
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl MOD75_021EA0CC
|
|
b _021E9ED2
|
|
_021E9E92:
|
|
cmp r0, #2
|
|
bne _021E9ED2
|
|
mov r1, #0x11
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl MOD75_021EA0CC
|
|
b _021E9ED2
|
|
_021E9EA2:
|
|
ldr r0, _021E9EE0 ; =0x0000048C
|
|
mov r1, #0
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
add sp, #8
|
|
mov r0, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_021E9ED2:
|
|
mov r0, #0x14
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E9ED8: .word 0x00000488
|
|
_021E9EDC: .word 0x00000426
|
|
_021E9EE0: .word 0x0000048C
|
|
thumb_func_end MOD75_021E9D90
|
|
|
|
thumb_func_start MOD75_021E9EE4
|
|
MOD75_021E9EE4: ; 0x021E9EE4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9F64 ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _021E9EF8
|
|
mov r0, #0x15
|
|
pop {r4, pc}
|
|
_021E9EF8:
|
|
ldr r0, _021E9F68 ; =0x00000644
|
|
bl FUN_020054C8
|
|
ldr r1, _021E9F6C ; =0x00000488
|
|
add r0, r4, #0
|
|
ldrsh r2, [r4, r1]
|
|
add r1, r1, #4
|
|
add r0, #0xcc
|
|
ldr r1, [r4, r1]
|
|
ldr r0, [r0]
|
|
mul r1, r2
|
|
bl FUN_02023A30
|
|
ldr r0, _021E9F6C ; =0x00000488
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _021E9F38
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x75
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq _021E9F44
|
|
add r0, r1, #0
|
|
add r0, #0x75
|
|
ldrb r0, [r0]
|
|
add r1, #0x75
|
|
add r0, r0, #1
|
|
strb r0, [r1]
|
|
b _021E9F44
|
|
_021E9F38:
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
add r0, #0x75
|
|
strb r1, [r0]
|
|
_021E9F44:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EB808
|
|
ldr r0, _021E9F70 ; =0x00000479
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD75_021E92BC
|
|
add r4, #0x64
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E9F64: .word 0x00000426
|
|
_021E9F68: .word 0x00000644
|
|
_021E9F6C: .word 0x00000488
|
|
_021E9F70: .word 0x00000479
|
|
thumb_func_end MOD75_021E9EE4
|
|
|
|
thumb_func_start MOD75_021E9F74
|
|
MOD75_021E9F74: ; 0x021E9F74
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E9FCC ; =0x00000426
|
|
ldrb r0, [r4, r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _021E9FC8
|
|
ldr r0, _021E9FD0 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _021E9F96
|
|
ldr r0, _021E9FD4 ; =0x021C48F8
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021E9FC8
|
|
_021E9F96:
|
|
ldr r0, _021E9FD8 ; =0x00000479
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r0, #0x13
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC090
|
|
mov r0, #0x10
|
|
pop {r4, pc}
|
|
_021E9FC8:
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021E9FCC: .word 0x00000426
|
|
_021E9FD0: .word 0x021C48B8
|
|
_021E9FD4: .word 0x021C48F8
|
|
_021E9FD8: .word 0x00000479
|
|
thumb_func_end MOD75_021E9F74
|
|
|
|
thumb_func_start MOD75_021E9FDC
|
|
MOD75_021E9FDC: ; 0x021E9FDC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
bl MOD75_021E86C0
|
|
add r0, r4, #0
|
|
bl MOD75_021EA2D8
|
|
cmp r0, #1
|
|
bne _021E9FF6
|
|
add sp, #4
|
|
mov r0, #0x17
|
|
pop {r3, r4, pc}
|
|
_021E9FF6:
|
|
add r0, r4, #0
|
|
bl MOD75_021E7D14
|
|
cmp r0, #1
|
|
bne _021EA006
|
|
add sp, #4
|
|
mov r0, #2
|
|
pop {r3, r4, pc}
|
|
_021EA006:
|
|
add r0, r4, #0
|
|
bl MOD75_021E8304
|
|
cmp r0, #1
|
|
bne _021EA016
|
|
add sp, #4
|
|
mov r0, #2
|
|
pop {r3, r4, pc}
|
|
_021EA016:
|
|
add r0, r4, #0
|
|
bl MOD75_021E7B7C
|
|
cmp r0, #1
|
|
bne _021EA0A8
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r1, r0, r1
|
|
ldrb r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
bne _021EA090
|
|
add r0, #0x66
|
|
ldrh r0, [r0]
|
|
mov r1, #6
|
|
add r2, r1, #0
|
|
bl FUN_0206E7B8
|
|
cmp r0, #0xd
|
|
beq _021EA090
|
|
mov r3, #6
|
|
add r2, r4, #0
|
|
str r3, [sp]
|
|
add r2, #0xc4
|
|
ldr r2, [r2]
|
|
add r0, r4, #0
|
|
mov r1, #0xfe
|
|
add r2, #0x66
|
|
add r0, #0xcc
|
|
lsl r1, r1, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, r1]
|
|
sub r3, r3, #7
|
|
bl FUN_0206E51C
|
|
add r0, r4, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
ldr r2, _021EA0C4 ; =0x000003D9
|
|
add r0, #0x64
|
|
mov r1, #0
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r4, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021EA0C8 ; =0x00000426
|
|
add sp, #4
|
|
strb r0, [r4, r1]
|
|
mov r0, #0xc
|
|
pop {r3, r4, pc}
|
|
_021EA090:
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl FUN_02079A70
|
|
add sp, #4
|
|
mov r0, #0x18
|
|
pop {r3, r4, pc}
|
|
_021EA0A8:
|
|
cmp r0, #3
|
|
bne _021EA0BC
|
|
add r4, #0xc4
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
add r0, #0x68
|
|
strh r1, [r0]
|
|
add sp, #4
|
|
mov r0, #0x18
|
|
pop {r3, r4, pc}
|
|
_021EA0BC:
|
|
mov r0, #0x17
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021EA0C4: .word 0x000003D9
|
|
_021EA0C8: .word 0x00000426
|
|
thumb_func_end MOD75_021E9FDC
|
|
|
|
thumb_func_start MOD75_021EA0CC
|
|
MOD75_021EA0CC: ; 0x021EA0CC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r5, r1, #0
|
|
mov r1, #7
|
|
bl FUN_02018878
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x10
|
|
asr r5, r0, #0x10
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
cmp r5, r0
|
|
blt _021EA0F4
|
|
sub r0, r5, r0
|
|
lsl r0, r0, #0x10
|
|
asr r5, r0, #0x10
|
|
b _021EA0FE
|
|
_021EA0F4:
|
|
cmp r5, #0
|
|
bge _021EA0FE
|
|
add r0, r5, r0
|
|
lsl r0, r0, #0x10
|
|
asr r5, r0, #0x10
|
|
_021EA0FE:
|
|
lsl r3, r5, #0x10
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
lsr r3, r3, #0x10
|
|
bl FUN_0201AF08
|
|
ldr r0, _021EA114 ; =0x0000049A
|
|
strh r5, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021EA114: .word 0x0000049A
|
|
thumb_func_end MOD75_021EA0CC
|
|
|
|
thumb_func_start MOD75_021EA118
|
|
MOD75_021EA118: ; 0x021EA118
|
|
push {r3, lr}
|
|
ldr r0, _021EA12C ; =0x021EC404
|
|
bl FUN_020209F4
|
|
cmp r0, #1
|
|
bne _021EA128
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021EA128:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021EA12C: .word 0x021EC404
|
|
thumb_func_end MOD75_021EA118
|
|
|
|
thumb_func_start MOD75_021EA130
|
|
MOD75_021EA130: ; 0x021EA130
|
|
push {r3, lr}
|
|
ldr r0, _021EA144 ; =0x021EC410
|
|
bl FUN_020209A8
|
|
cmp r0, #1
|
|
bne _021EA140
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021EA140:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021EA144: .word 0x021EC410
|
|
thumb_func_end MOD75_021EA130
|
|
|
|
thumb_func_start MOD75_021EA148
|
|
MOD75_021EA148: ; 0x021EA148
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD75_021EA118
|
|
cmp r0, #1
|
|
bne _021EA176
|
|
ldr r1, _021EA2BC ; =0x00000492
|
|
mov r0, #1
|
|
strb r0, [r5, r1]
|
|
mov r2, #0
|
|
add r0, r1, #6
|
|
strh r2, [r5, r0]
|
|
add r0, r1, #2
|
|
str r2, [r5, r0]
|
|
add r0, r1, #0
|
|
ldr r2, _021EA2C0 ; =0x021C48F8
|
|
add r0, #0xc
|
|
ldrh r3, [r2, #0x1c]
|
|
add r1, #0xe
|
|
strh r3, [r5, r0]
|
|
ldrh r0, [r2, #0x1e]
|
|
strh r0, [r5, r1]
|
|
_021EA176:
|
|
ldr r0, _021EA2BC ; =0x00000492
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _021EA180
|
|
b _021EA2B6
|
|
_021EA180:
|
|
bl MOD75_021EA130
|
|
cmp r0, #1
|
|
beq _021EA18A
|
|
b _021EA2A8
|
|
_021EA18A:
|
|
mov r3, #0x50
|
|
ldr r1, _021EA2C4 ; =0x0000049E
|
|
str r3, [sp]
|
|
ldr r4, _021EA2C0 ; =0x021C48F8
|
|
ldrh r0, [r5, r1]
|
|
add r1, r1, #2
|
|
ldrh r1, [r5, r1]
|
|
ldrh r2, [r4, #0x1c]
|
|
mov r7, #0x80
|
|
ldrh r4, [r4, #0x1e]
|
|
sub r1, r3, r1
|
|
sub r0, r7, r0
|
|
sub r2, r7, r2
|
|
sub r3, r3, r4
|
|
bl FUN_0201BBD0
|
|
add r4, r0, #0
|
|
mov r0, #0x50
|
|
lsl r1, r4, #1
|
|
bl FUN_0201BC84
|
|
lsl r0, r0, #8
|
|
mov r1, #0xb6
|
|
bl _s32_div_f
|
|
ldr r1, _021EA2C8 ; =0x0000049A
|
|
asr r3, r0, #8
|
|
ldrsh r2, [r5, r1]
|
|
add r0, r5, r1
|
|
add r2, r2, r3
|
|
strh r2, [r0]
|
|
ldrsh r1, [r5, r1]
|
|
cmp r1, #0
|
|
bge _021EA1DC
|
|
mov r1, #0
|
|
ldrsh r2, [r0, r1]
|
|
add r1, r7, #0
|
|
add r1, #0xe8
|
|
add r1, r2, r1
|
|
strh r1, [r0]
|
|
b _021EA1EC
|
|
_021EA1DC:
|
|
add r2, r7, #0
|
|
add r2, #0xe8
|
|
cmp r1, r2
|
|
blt _021EA1EC
|
|
mov r1, #0
|
|
ldrsh r1, [r0, r1]
|
|
sub r1, r1, r2
|
|
strh r1, [r0]
|
|
_021EA1EC:
|
|
ldr r3, _021EA2C8 ; =0x0000049A
|
|
ldr r0, [r5]
|
|
ldrh r3, [r5, r3]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
bl FUN_0201AF08
|
|
ldr r0, _021EA2CC ; =0x000001F6
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
add r6, r0, #0
|
|
cmp r4, #0
|
|
ble _021EA250
|
|
ldr r0, _021EA2D0 ; =0x00000498
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, #0
|
|
bge _021EA22A
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
ldr r1, _021EA2D0 ; =0x00000498
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
ldr r0, _021EA2D4 ; =0x00000494
|
|
str r1, [r5, r0]
|
|
b _021EA298
|
|
_021EA22A:
|
|
sub r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
add r0, r0, r4
|
|
bl _s32_div_f
|
|
ldr r1, _021EA2D0 ; =0x00000498
|
|
ldrsh r2, [r5, r1]
|
|
add r0, r2, r0
|
|
strh r0, [r5, r1]
|
|
sub r0, r1, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
add r0, r0, r4
|
|
bl _s32_div_f
|
|
ldr r0, _021EA2D4 ; =0x00000494
|
|
str r1, [r5, r0]
|
|
b _021EA298
|
|
_021EA250:
|
|
bge _021EA298
|
|
ldr r0, _021EA2D0 ; =0x00000498
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, #0
|
|
ble _021EA274
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
ldr r1, _021EA2D0 ; =0x00000498
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
ldr r0, _021EA2D4 ; =0x00000494
|
|
str r1, [r5, r0]
|
|
b _021EA298
|
|
_021EA274:
|
|
sub r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
add r0, r0, r4
|
|
bl _s32_div_f
|
|
ldr r1, _021EA2D0 ; =0x00000498
|
|
ldrsh r2, [r5, r1]
|
|
add r0, r2, r0
|
|
strh r0, [r5, r1]
|
|
sub r0, r1, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
add r0, r0, r4
|
|
bl _s32_div_f
|
|
ldr r0, _021EA2D4 ; =0x00000494
|
|
str r1, [r5, r0]
|
|
_021EA298:
|
|
ldr r1, _021EA2C0 ; =0x021C48F8
|
|
ldr r0, _021EA2C4 ; =0x0000049E
|
|
ldrh r2, [r1, #0x1c]
|
|
strh r2, [r5, r0]
|
|
ldrh r1, [r1, #0x1e]
|
|
add r0, r0, #2
|
|
strh r1, [r5, r0]
|
|
b _021EA2B2
|
|
_021EA2A8:
|
|
ldr r0, _021EA2BC ; =0x00000492
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
add r0, r0, #6
|
|
strh r1, [r5, r0]
|
|
_021EA2B2:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA2B6:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA2BC: .word 0x00000492
|
|
_021EA2C0: .word 0x021C48F8
|
|
_021EA2C4: .word 0x0000049E
|
|
_021EA2C8: .word 0x0000049A
|
|
_021EA2CC: .word 0x000001F6
|
|
_021EA2D0: .word 0x00000498
|
|
_021EA2D4: .word 0x00000494
|
|
thumb_func_end MOD75_021EA148
|
|
|
|
thumb_func_start MOD75_021EA2D8
|
|
MOD75_021EA2D8: ; 0x021EA2D8
|
|
push {r4, lr}
|
|
mov r1, #0x24
|
|
add r4, r0, #0
|
|
bl MOD75_021EA148
|
|
ldr r1, _021EA324 ; =0x00000498
|
|
ldrsh r1, [r4, r1]
|
|
cmp r1, #0
|
|
ble _021EA306
|
|
add r0, r4, #0
|
|
mov r1, #0x40
|
|
bl MOD75_021EA328
|
|
cmp r0, #1
|
|
ldr r0, _021EA324 ; =0x00000498
|
|
bne _021EA2FE
|
|
ldrsh r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
b _021EA300
|
|
_021EA2FE:
|
|
mov r1, #0
|
|
_021EA300:
|
|
strh r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EA306:
|
|
bge _021EA322
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
bl MOD75_021EA328
|
|
cmp r0, #1
|
|
ldr r0, _021EA324 ; =0x00000498
|
|
bne _021EA31C
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
b _021EA31E
|
|
_021EA31C:
|
|
mov r1, #0
|
|
_021EA31E:
|
|
strh r1, [r4, r0]
|
|
mov r0, #1
|
|
_021EA322:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021EA324: .word 0x00000498
|
|
thumb_func_end MOD75_021EA2D8
|
|
|
|
thumb_func_start MOD75_021EA328
|
|
MOD75_021EA328: ; 0x021EA328
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
mov r5, #0xc
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
add r2, r0, #0
|
|
mul r2, r5
|
|
add r0, r3, r2
|
|
ldrh r0, [r0, #0xa]
|
|
add r3, sp, #0x10
|
|
strh r0, [r3, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #0
|
|
add r2, #0x64
|
|
ldrb r2, [r2]
|
|
mul r5, r2
|
|
add r0, r0, r5
|
|
ldrh r0, [r0, #8]
|
|
strh r0, [r3]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #4]
|
|
add r0, #2
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x10
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r3, #2]
|
|
ldrh r3, [r3]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_02001354
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r5, r2, #0
|
|
mul r5, r1
|
|
add r1, sp, #0x10
|
|
add r2, r0, r5
|
|
ldrh r3, [r1, #2]
|
|
ldrh r0, [r2, #0xa]
|
|
cmp r3, r0
|
|
bne _021EA3A6
|
|
ldrh r1, [r1]
|
|
ldrh r0, [r2, #8]
|
|
cmp r1, r0
|
|
bne _021EA3A6
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EA3A6:
|
|
add r2, sp, #0x10
|
|
ldrh r2, [r2]
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #4
|
|
add r2, #0x18
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r6, [r0]
|
|
add r2, sp, #0x10
|
|
add r0, r6, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
ldrh r5, [r2, #2]
|
|
mov r1, #0xc
|
|
add r3, r0, #0
|
|
mul r3, r1
|
|
add r0, r6, r3
|
|
strh r5, [r0, #0xa]
|
|
add r4, #0xc4
|
|
ldr r3, [r4]
|
|
ldrh r2, [r2]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
mul r1, r0
|
|
add r0, r3, r1
|
|
strh r2, [r0, #8]
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EA328
|
|
|
|
thumb_func_start MOD75_021EA3F4
|
|
MOD75_021EA3F4: ; 0x021EA3F4
|
|
push {r4, lr}
|
|
mov r1, #0x24
|
|
add r4, r0, #0
|
|
bl MOD75_021EA148
|
|
ldr r1, _021EA440 ; =0x00000498
|
|
ldrsh r1, [r4, r1]
|
|
cmp r1, #0
|
|
ble _021EA422
|
|
add r0, r4, #0
|
|
mov r1, #0x40
|
|
bl MOD75_021EA444
|
|
cmp r0, #1
|
|
ldr r0, _021EA440 ; =0x00000498
|
|
bne _021EA41A
|
|
ldrsh r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
b _021EA41C
|
|
_021EA41A:
|
|
mov r1, #0
|
|
_021EA41C:
|
|
strh r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EA422:
|
|
bge _021EA43E
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
bl MOD75_021EA444
|
|
cmp r0, #1
|
|
ldr r0, _021EA440 ; =0x00000498
|
|
bne _021EA438
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
b _021EA43A
|
|
_021EA438:
|
|
mov r1, #0
|
|
_021EA43A:
|
|
strh r1, [r4, r0]
|
|
mov r0, #1
|
|
_021EA43E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021EA440: .word 0x00000498
|
|
thumb_func_end MOD75_021EA3F4
|
|
|
|
thumb_func_start MOD75_021EA444
|
|
MOD75_021EA444: ; 0x021EA444
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r3, [r0]
|
|
mov r5, #0xc
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
add r2, r0, #0
|
|
mul r2, r5
|
|
add r0, r3, r2
|
|
ldrh r0, [r0, #0xa]
|
|
add r3, sp, #0x10
|
|
strh r0, [r3, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #0
|
|
add r2, #0x64
|
|
ldrb r2, [r2]
|
|
mul r5, r2
|
|
add r0, r0, r5
|
|
ldrh r0, [r0, #8]
|
|
strh r0, [r3]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #4]
|
|
add r0, #2
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x10
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r3, #2]
|
|
ldrh r3, [r3]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_02001354
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r5, r2, #0
|
|
mul r5, r1
|
|
add r1, sp, #0x10
|
|
add r2, r0, r5
|
|
ldrh r3, [r1, #2]
|
|
ldrh r0, [r2, #0xa]
|
|
cmp r3, r0
|
|
bne _021EA4C2
|
|
ldrh r1, [r1]
|
|
ldrh r0, [r2, #8]
|
|
cmp r1, r0
|
|
bne _021EA4C2
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EA4C2:
|
|
add r2, sp, #0x10
|
|
ldrh r2, [r2]
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r6, [r0]
|
|
add r2, sp, #0x10
|
|
add r0, r6, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
ldrh r5, [r2, #2]
|
|
mov r1, #0xc
|
|
add r3, r0, #0
|
|
mul r3, r1
|
|
add r0, r6, r3
|
|
strh r5, [r0, #0xa]
|
|
add r4, #0xc4
|
|
ldr r3, [r4]
|
|
ldrh r2, [r2]
|
|
add r0, r3, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
mul r1, r0
|
|
add r0, r3, r1
|
|
strh r2, [r0, #8]
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EA444
|
|
|
|
thumb_func_start MOD75_021EA510
|
|
MOD75_021EA510: ; 0x021EA510
|
|
push {r4, lr}
|
|
mov r1, #0x12
|
|
add r4, r0, #0
|
|
bl MOD75_021EA148
|
|
ldr r1, _021EA55C ; =0x00000498
|
|
ldrsh r1, [r4, r1]
|
|
cmp r1, #0
|
|
ble _021EA53E
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD75_021EA560
|
|
cmp r0, #1
|
|
ldr r0, _021EA55C ; =0x00000498
|
|
bne _021EA536
|
|
ldrsh r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
b _021EA538
|
|
_021EA536:
|
|
mov r1, #0
|
|
_021EA538:
|
|
strh r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EA53E:
|
|
bge _021EA55A
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl MOD75_021EA560
|
|
cmp r0, #1
|
|
ldr r0, _021EA55C ; =0x00000498
|
|
bne _021EA554
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
b _021EA556
|
|
_021EA554:
|
|
mov r1, #0
|
|
_021EA556:
|
|
strh r1, [r4, r0]
|
|
mov r0, #1
|
|
_021EA55A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021EA55C: .word 0x00000498
|
|
thumb_func_end MOD75_021EA510
|
|
|
|
thumb_func_start MOD75_021EA560
|
|
MOD75_021EA560: ; 0x021EA560
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r6, r1, #0
|
|
bl FUN_02001E5C
|
|
add r4, r0, #0
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl FUN_02001DDC
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001E5C
|
|
cmp r4, r0
|
|
beq _021EA590
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021EA590:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD75_021EA560
|
|
|
|
thumb_func_start MOD75_021EA594
|
|
MOD75_021EA594: ; 0x021EA594
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0x12
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
bl MOD75_021EA148
|
|
ldr r7, _021EA5FC ; =0x00000498
|
|
mov r1, #0
|
|
ldrsh r2, [r5, r7]
|
|
ldrsh r3, [r4, r1]
|
|
cmp r2, #0
|
|
ble _021EA5D4
|
|
sub r0, r2, #1
|
|
strh r0, [r5, r7]
|
|
ldrsh r0, [r4, r1]
|
|
add r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r6
|
|
ble _021EA5C2
|
|
mov r0, #1
|
|
strh r0, [r4]
|
|
_021EA5C2:
|
|
mov r0, #0
|
|
ldrsh r1, [r4, r0]
|
|
cmp r1, r3
|
|
beq _021EA5F8
|
|
ldr r0, _021EA600 ; =0x00000638
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA5D4:
|
|
bge _021EA5F8
|
|
add r0, r2, #1
|
|
strh r0, [r5, r7]
|
|
ldrsh r0, [r4, r1]
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bgt _021EA5E8
|
|
strh r6, [r4]
|
|
_021EA5E8:
|
|
mov r0, #0
|
|
ldrsh r1, [r4, r0]
|
|
cmp r1, r3
|
|
beq _021EA5F8
|
|
ldr r0, _021EA600 ; =0x00000638
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
_021EA5F8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA5FC: .word 0x00000498
|
|
_021EA600: .word 0x00000638
|
|
thumb_func_end MOD75_021EA594
|
|
|
|
thumb_func_start MOD75_021EA604
|
|
MOD75_021EA604: ; 0x021EA604
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x11
|
|
str r0, [sp, #4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, r4, #4
|
|
mov r2, #2
|
|
mov r3, #0xe
|
|
bl FUN_02019064
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA780 ; =0x00000133
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
mov r2, #0
|
|
ldr r0, [r4]
|
|
add r1, #0x14
|
|
add r3, r2, #0
|
|
bl FUN_02019064
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r0, #0x24
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA784 ; =0x000001F3
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x24
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl FUN_02019064
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0xe
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA788 ; =0x0000025F
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x34
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl FUN_02019064
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0xd
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA788 ; =0x0000025F
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x44
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl FUN_02019064
|
|
mov r0, #0xb
|
|
str r0, [sp]
|
|
mov r0, #0xc
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA78C ; =0x00000297
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
mov r2, #0
|
|
ldr r0, [r4]
|
|
add r1, #0x54
|
|
add r3, r2, #0
|
|
bl FUN_02019064
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA790 ; =0x000002AF
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x64
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_02019064
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r0, #0xc
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA794 ; =0x00000337
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x74
|
|
mov r2, #0
|
|
mov r3, #0x13
|
|
bl FUN_02019064
|
|
mov r3, #1
|
|
add r1, r4, #0
|
|
str r3, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA798 ; =0x00000367
|
|
add r1, #0x84
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA79C ; =0x00000387
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x94
|
|
mov r2, #0
|
|
mov r3, #0x18
|
|
bl FUN_02019064
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA79C ; =0x00000387
|
|
mov r2, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r4, #0xa4
|
|
add r1, r4, #0
|
|
mov r3, #1
|
|
bl FUN_02019064
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021EA780: .word 0x00000133
|
|
_021EA784: .word 0x000001F3
|
|
_021EA788: .word 0x0000025F
|
|
_021EA78C: .word 0x00000297
|
|
_021EA790: .word 0x000002AF
|
|
_021EA794: .word 0x00000337
|
|
_021EA798: .word 0x00000367
|
|
_021EA79C: .word 0x00000387
|
|
thumb_func_end MOD75_021EA604
|
|
|
|
thumb_func_start MOD75_021EA7A0
|
|
MOD75_021EA7A0: ; 0x021EA7A0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021EA7A6:
|
|
lsl r0, r4, #4
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0xb
|
|
blo _021EA7A6
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EA7A0
|
|
|
|
thumb_func_start MOD75_021EA7BC
|
|
MOD75_021EA7BC: ; 0x021EA7BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r2, #0x57
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #2
|
|
mov r3, #6
|
|
bl FUN_0200A86C
|
|
ldr r7, _021EA7F4 ; =0x00000404
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
_021EA7D4:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl FUN_0200A914
|
|
lsl r1, r4, #2
|
|
add r1, r5, r1
|
|
str r0, [r1, r7]
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #8
|
|
blo _021EA7D4
|
|
add r0, r6, #0
|
|
bl FUN_0200A8B8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EA7F4: .word 0x00000404
|
|
thumb_func_end MOD75_021EA7BC
|
|
|
|
thumb_func_start MOD75_021EA7F8
|
|
MOD75_021EA7F8: ; 0x021EA7F8
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _021EA818 ; =0x00000404
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021EA800:
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, r6]
|
|
bl FUN_02021A20
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #8
|
|
blo _021EA800
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EA818: .word 0x00000404
|
|
thumb_func_end MOD75_021EA7F8
|
|
|
|
thumb_func_start MOD75_021EA81C
|
|
MOD75_021EA81C: ; 0x021EA81C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
mov r6, #0xd
|
|
mov r7, #1
|
|
_021EA828:
|
|
str r6, [sp]
|
|
ldr r2, _021EA878 ; =0x000001FF
|
|
str r7, [sp, #4]
|
|
add r2, r4, r2
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r4, #0x18
|
|
str r7, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02018540
|
|
mov r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
ldr r2, _021EA87C ; =0x00000223
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r4, r2
|
|
str r0, [sp, #0xc]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r4, #0x18
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02018540
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0xc
|
|
blo _021EA828
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA878: .word 0x000001FF
|
|
_021EA87C: .word 0x00000223
|
|
thumb_func_end MOD75_021EA81C
|
|
|
|
thumb_func_start MOD75_021EA880
|
|
MOD75_021EA880: ; 0x021EA880
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r2, #0
|
|
add r2, r0, #0
|
|
add r6, r1, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EA8B8 ; =0x00010200
|
|
lsr r3, r3, #1
|
|
add r5, #0x24
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
sub r3, r4, r3
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EA8B8: .word 0x00010200
|
|
thumb_func_end MOD75_021EA880
|
|
|
|
thumb_func_start MOD75_021EA8BC
|
|
MOD75_021EA8BC: ; 0x021EA8BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x24
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r2, r4, #0
|
|
add r2, #0xc4
|
|
ldr r6, [r2]
|
|
ldr r1, _021EA94C ; =0x00000429
|
|
add r2, r6, #0
|
|
add r2, #0x64
|
|
ldrb r3, [r2]
|
|
mov r2, #0xc
|
|
add r0, r4, r1
|
|
add r5, r3, #0
|
|
mul r5, r2
|
|
add r3, r6, r5
|
|
ldrb r3, [r3, #0xc]
|
|
lsl r3, r3, #2
|
|
add r5, r4, r3
|
|
add r3, r1, #0
|
|
sub r3, #0x25
|
|
ldr r7, [r5, r3]
|
|
ldrb r3, [r0]
|
|
sub r1, #0x25
|
|
add r5, r3, #0
|
|
mul r5, r2
|
|
add r3, r6, r5
|
|
ldrb r3, [r3, #0xc]
|
|
lsl r3, r3, #2
|
|
add r3, r4, r3
|
|
ldr r1, [r3, r1]
|
|
ldrb r3, [r0, #1]
|
|
ldrb r0, [r0, #3]
|
|
cmp r3, #0
|
|
bne _021EA91E
|
|
mul r2, r0
|
|
add r2, #0x92
|
|
lsl r0, r2, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r2, r5, #0
|
|
sub r2, #0x60
|
|
lsl r2, r2, #0x10
|
|
add r0, r4, #0
|
|
lsr r2, r2, #0x10
|
|
bl MOD75_021EA880
|
|
b _021EA936
|
|
_021EA91E:
|
|
mul r2, r0
|
|
mov r0, #0x92
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r2, r5, #0
|
|
add r2, #0x60
|
|
lsl r2, r2, #0x10
|
|
add r0, r4, #0
|
|
lsr r2, r2, #0x10
|
|
bl MOD75_021EA880
|
|
_021EA936:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl MOD75_021EA880
|
|
add r4, #0x24
|
|
add r0, r4, #0
|
|
bl FUN_02019548
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA94C: .word 0x00000429
|
|
thumb_func_end MOD75_021EA8BC
|
|
|
|
thumb_func_start MOD75_021EA950
|
|
MOD75_021EA950: ; 0x021EA950
|
|
push {r3, r4, r5, lr}
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
add r5, r1, #0
|
|
mov r1, #0x11
|
|
mov r2, #6
|
|
bl NARC_AllocAndReadWholeMember
|
|
add r1, r5, #0
|
|
add r4, r0, #0
|
|
bl FUN_020B0030
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD75_021EA950
|
|
|
|
thumb_func_start MOD75_021EA96C
|
|
MOD75_021EA96C: ; 0x021EA96C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
add r1, sp, #0x18
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
bl MOD75_021EA950
|
|
add r7, r0, #0
|
|
cmp r6, #1
|
|
bne _021EA998
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
ldrb r0, [r0, #0xc]
|
|
lsl r0, r0, #5
|
|
add r0, #0x10
|
|
lsl r0, r0, #0x18
|
|
b _021EA9A8
|
|
_021EA998:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
ldrb r0, [r0, #0xc]
|
|
lsl r0, r0, #0x1d
|
|
_021EA9A8:
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
ldr r1, _021EA9F4 ; =0x00000427
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r5, r1]
|
|
add r1, r1, #1
|
|
ldrb r1, [r5, r1]
|
|
add r3, r1, #0
|
|
mul r3, r4
|
|
add r0, r0, r3
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #0
|
|
ldr r1, [r1, #0x14]
|
|
add r0, #0x54
|
|
mov r3, #0
|
|
bl FUN_02019658
|
|
add r5, #0x54
|
|
add r0, r5, #0
|
|
bl FUN_02019220
|
|
mov r0, #6
|
|
add r1, r7, #0
|
|
bl FUN_02016A8C
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EA9F4: .word 0x00000427
|
|
thumb_func_end MOD75_021EA96C
|
|
|
|
thumb_func_start MOD75_021EA9F8
|
|
MOD75_021EA9F8: ; 0x021EA9F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r1, sp, #0x1c
|
|
bl MOD75_021EA950
|
|
str r0, [sp, #0x18]
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldr r0, _021EAAA0 ; =0x00000424
|
|
mov r4, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bls _021EAA8C
|
|
mov r7, #1
|
|
add r6, r5, #0
|
|
lsl r7, r7, #8
|
|
add r6, #0x54
|
|
_021EAA22:
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r1, [r1]
|
|
cmp r4, r1
|
|
bne _021EAA42
|
|
mov r1, #0xc
|
|
mul r1, r4
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0xc]
|
|
lsl r0, r0, #5
|
|
add r0, #0x10
|
|
lsl r0, r0, #0x18
|
|
b _021EAA4C
|
|
_021EAA42:
|
|
mov r1, #0xc
|
|
mul r1, r4
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0xc]
|
|
lsl r0, r0, #0x1d
|
|
_021EAA4C:
|
|
lsr r2, r0, #0x18
|
|
str r7, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAAA4 ; =0x00000427
|
|
ldrb r3, [r5, r0]
|
|
add r0, r0, #1
|
|
ldrb r0, [r5, r0]
|
|
add r1, r0, #0
|
|
mul r1, r4
|
|
add r0, r3, r1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
ldr r1, [r1, #0x14]
|
|
mov r3, #0
|
|
bl FUN_02019658
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r0, _021EAAA0 ; =0x00000424
|
|
ldrb r0, [r5, r0]
|
|
cmp r4, r0
|
|
blo _021EAA22
|
|
_021EAA8C:
|
|
add r5, #0x54
|
|
add r0, r5, #0
|
|
bl FUN_02019220
|
|
ldr r1, [sp, #0x18]
|
|
mov r0, #6
|
|
bl FUN_02016A8C
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EAAA0: .word 0x00000424
|
|
_021EAAA4: .word 0x00000427
|
|
thumb_func_end MOD75_021EA9F8
|
|
|
|
thumb_func_start MOD75_021EAAA8
|
|
MOD75_021EAAA8: ; 0x021EAAA8
|
|
push {r3, r4, r5, lr}
|
|
lsl r1, r1, #0x10
|
|
add r4, r2, #0
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
bl MOD75_021E7420
|
|
add r2, r0, #0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_0200AE38
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD75_021EAAA8
|
|
|
|
thumb_func_start MOD75_021EAAC8
|
|
MOD75_021EAAC8: ; 0x021EAAC8
|
|
push {r3, r4, r5, lr}
|
|
lsl r1, r1, #0x10
|
|
add r4, r2, #0
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
bl MOD75_021E7420
|
|
add r2, r0, #0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_0200AEA8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD75_021EAAC8
|
|
|
|
thumb_func_start MOD75_021EAAE8
|
|
MOD75_021EAAE8: ; 0x021EAAE8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _021EAB3C ; =0x0000FFFF
|
|
add r6, r1, #0
|
|
cmp r6, r0
|
|
beq _021EAB0A
|
|
mov r0, #0x82
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
add r1, r6, #0
|
|
mov r2, #6
|
|
add r4, r0, #0
|
|
bl FUN_0206E790
|
|
b _021EAB18
|
|
_021EAB0A:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5e
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
_021EAB18:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAB40 ; =0x000F0E00
|
|
add r5, #0x14
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0x28
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EAB3C: .word 0x0000FFFF
|
|
_021EAB40: .word 0x000F0E00
|
|
thumb_func_end MOD75_021EAAE8
|
|
|
|
thumb_func_start MOD75_021EAB44
|
|
MOD75_021EAB44: ; 0x021EAB44
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r0, r1, #0
|
|
add r4, #0x14
|
|
bl FUN_0206EA30
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x62
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x56
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x59
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r3, #0x60
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x57
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #0x60
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x58
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #0x60
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0
|
|
bl FUN_0206AB30
|
|
add r7, r0, #0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5a
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
mov r3, #2
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
mov r2, #0xfe
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0x30
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #2
|
|
bl FUN_0206AB18
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
cmp r7, #1
|
|
bhi _021EACBA
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x18
|
|
bl FUN_0200A914
|
|
b _021EACC6
|
|
_021EACBA:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5b
|
|
bl FUN_0200A914
|
|
_021EACC6:
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r2, r7, #0
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
mov r2, #0xfe
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0xa0
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #4
|
|
bl FUN_0206AB18
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
bne _021EAD30
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x18
|
|
bl FUN_0200A914
|
|
b _021EAD3C
|
|
_021EAD30:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5b
|
|
bl FUN_0200A914
|
|
_021EAD3C:
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r2, r7, #0
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EAD90 ; =0x000F0E00
|
|
mov r2, #0xfe
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0xa0
|
|
bl FUN_0201BDE0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EAD90: .word 0x000F0E00
|
|
thumb_func_end MOD75_021EAB44
|
|
|
|
thumb_func_start MOD75_021EAD94
|
|
MOD75_021EAD94: ; 0x021EAD94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x26
|
|
bl FUN_0200A914
|
|
mov r1, #0xff
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x25
|
|
bl FUN_0200A914
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EAD94
|
|
|
|
thumb_func_start MOD75_021EADC0
|
|
MOD75_021EADC0: ; 0x021EADC0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EADC0
|
|
|
|
thumb_func_start MOD75_021EADDC
|
|
MOD75_021EADDC: ; 0x021EADDC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r2, #0
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r6, r3, #0
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #3
|
|
str r4, [sp]
|
|
bne _021EAE18
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
str r6, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, #4
|
|
mov r3, #0x73
|
|
bl FUN_0201BDE0
|
|
b _021EAE2E
|
|
_021EAE18:
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
str r6, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, #4
|
|
mov r3, #0x6d
|
|
bl FUN_0201BDE0
|
|
_021EAE2E:
|
|
mov r0, #0xa
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r2, #1
|
|
lsl r0, r0, #2
|
|
lsl r2, r2, #0xa
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r5, r2]
|
|
add r1, r7, #0
|
|
bl FUN_0200B7B8
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
str r4, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r4, #0x86
|
|
str r6, [sp, #8]
|
|
mov r1, #0
|
|
add r0, r5, #4
|
|
add r2, r7, #0
|
|
sub r3, r4, r3
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EADDC
|
|
|
|
thumb_func_start MOD75_021EAE90
|
|
MOD75_021EAE90: ; 0x021EAE90
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
mov r0, #0x69
|
|
ldrh r2, [r6]
|
|
lsl r0, r0, #2
|
|
cmp r2, r0
|
|
bhs _021EAEDA
|
|
add r1, r0, #0
|
|
sub r1, #0x5d
|
|
sub r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r2, r1, #0x10
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
add r3, r5, #4
|
|
str r3, [sp, #4]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
add r3, r4, #5
|
|
str r3, [sp, #0xc]
|
|
sub r0, #0x94
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
bl FUN_0200BA78
|
|
lsl r2, r4, #0x10
|
|
ldrh r1, [r6, #2]
|
|
ldr r3, _021EAF08 ; =0x00010200
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x10
|
|
bl MOD75_021EADDC
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021EAEDA:
|
|
sub r1, r0, #1
|
|
sub r1, r2, r1
|
|
add r2, r5, #4
|
|
str r2, [sp]
|
|
mov r2, #0x10
|
|
str r2, [sp, #4]
|
|
add r2, r4, #5
|
|
str r2, [sp, #8]
|
|
sub r0, #0x94
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x10
|
|
mov r2, #2
|
|
mov r3, #1
|
|
bl FUN_0200B9EC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD75_021EAF70
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EAF08: .word 0x00010200
|
|
thumb_func_end MOD75_021EAE90
|
|
|
|
thumb_func_start MOD75_021EAF0C
|
|
MOD75_021EAF0C: ; 0x021EAF0C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldrh r0, [r4]
|
|
add r6, r2, #0
|
|
bl FUN_0206EB0C
|
|
mov r1, #2
|
|
add r2, r0, #0
|
|
str r1, [sp]
|
|
add r0, r5, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, r6, #5
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r2, r2, #1
|
|
add r3, r1, #0
|
|
bl FUN_0200BA78
|
|
lsl r2, r6, #0x10
|
|
ldrh r1, [r4, #2]
|
|
ldr r3, _021EAF50 ; =0x00010200
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x10
|
|
bl MOD75_021EADDC
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EAF50: .word 0x00010200
|
|
thumb_func_end MOD75_021EAF0C
|
|
|
|
thumb_func_start MOD75_021EAF54
|
|
MOD75_021EAF54: ; 0x021EAF54
|
|
push {r3, r4, r5, lr}
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
add r5, r1, #0
|
|
mov r1, #0x26
|
|
mov r2, #6
|
|
bl NARC_AllocAndReadWholeMember
|
|
add r1, r5, #0
|
|
add r4, r0, #0
|
|
bl FUN_020B0030
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD75_021EAF54
|
|
|
|
thumb_func_start MOD75_021EAF70
|
|
MOD75_021EAF70: ; 0x021EAF70
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
add r1, sp, #0x18
|
|
add r5, r0, #0
|
|
bl MOD75_021EAF54
|
|
add r6, r0, #0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
lsl r1, r4, #0x10
|
|
str r0, [sp, #4]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
lsr r1, r1, #0x10
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x18
|
|
str r1, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #4
|
|
ldr r1, [r1, #0x14]
|
|
mov r2, #0x28
|
|
bl FUN_02019658
|
|
mov r0, #6
|
|
add r1, r6, #0
|
|
bl FUN_02016A8C
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD75_021EAF70
|
|
|
|
thumb_func_start MOD75_021EAFB0
|
|
MOD75_021EAFB0: ; 0x021EAFB0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x29
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0x88
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
lsl r3, r4, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r5, #4
|
|
add r2, r1, #0
|
|
lsr r3, r3, #0x10
|
|
bl FUN_020196F4
|
|
mov r1, #0
|
|
str r4, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EB000 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #4
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EB000: .word 0x00010200
|
|
thumb_func_end MOD75_021EAFB0
|
|
|
|
thumb_func_start MOD75_021EB004
|
|
MOD75_021EB004: ; 0x021EB004
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
add r1, sp, #0x18
|
|
add r5, r0, #0
|
|
bl MOD75_021EAF54
|
|
add r6, r0, #0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r1, #0x60
|
|
str r1, [sp, #8]
|
|
lsl r1, r4, #0x10
|
|
lsr r1, r1, #0x10
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x28
|
|
str r1, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #4
|
|
ldr r1, [r1, #0x14]
|
|
add r3, r2, #0
|
|
bl FUN_02019658
|
|
mov r0, #6
|
|
add r1, r6, #0
|
|
bl FUN_02016A8C
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EB004
|
|
|
|
thumb_func_start MOD75_021EB048
|
|
MOD75_021EB048: ; 0x021EB048
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200A914
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x10
|
|
ldr r0, [r4, r1]
|
|
mov r1, #6
|
|
bl FUN_0200A914
|
|
mov r1, #0x4a
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x14
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x10
|
|
bl FUN_0200A914
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x5f
|
|
bl FUN_0200A914
|
|
mov r1, #0x13
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
sub r1, #0x1c
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x60
|
|
bl FUN_0200A914
|
|
mov r1, #0x4d
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x20
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_0200A914
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x24
|
|
ldr r0, [r4, r1]
|
|
mov r1, #2
|
|
bl FUN_0200A914
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x28
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x12
|
|
bl FUN_0200A914
|
|
mov r1, #5
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
sub r1, #0x2c
|
|
ldr r0, [r4, r1]
|
|
mov r1, #3
|
|
bl FUN_0200A914
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x30
|
|
ldr r0, [r4, r1]
|
|
mov r1, #4
|
|
bl FUN_0200A914
|
|
mov r1, #0x52
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x34
|
|
ldr r0, [r4, r1]
|
|
mov r1, #5
|
|
bl FUN_0200A914
|
|
mov r1, #0x53
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x38
|
|
ldr r0, [r4, r1]
|
|
mov r1, #8
|
|
bl FUN_0200A914
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021EB048
|
|
|
|
thumb_func_start MOD75_021EB110
|
|
MOD75_021EB110: ; 0x021EB110
|
|
push {r4, r5, r6, lr}
|
|
mov r6, #0x49
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
lsl r6, r6, #2
|
|
_021EB11A:
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, r6]
|
|
bl FUN_02021A20
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0xc
|
|
blo _021EB11A
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD75_021EB110
|
|
|
|
thumb_func_start MOD75_021EB130
|
|
MOD75_021EB130: ; 0x021EB130
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
add r1, r0, #0
|
|
add r1, #0x64
|
|
add r7, r2, #0
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #4
|
|
bne _021EB180
|
|
lsl r0, r7, #1
|
|
mov r3, #0x17
|
|
sub r1, r3, r0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp]
|
|
mov r1, #8
|
|
lsl r0, r0, #0x18
|
|
str r1, [sp, #4]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EB338 ; =0x00000337
|
|
add r1, r5, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5]
|
|
add r1, #0xb4
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
mov r0, #4
|
|
str r0, [sp, #0x14]
|
|
b _021EB1B0
|
|
_021EB180:
|
|
lsl r0, r7, #1
|
|
mov r1, #0x17
|
|
sub r1, r1, r0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp]
|
|
mov r1, #7
|
|
lsl r0, r0, #0x18
|
|
str r1, [sp, #4]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EB338 ; =0x00000337
|
|
add r1, r5, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5]
|
|
add r1, #0xb4
|
|
mov r2, #0
|
|
mov r3, #0x18
|
|
bl FUN_02019064
|
|
mov r0, #3
|
|
str r0, [sp, #0x14]
|
|
_021EB1B0:
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl FUN_02012838
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
mov r4, #0
|
|
str r0, [r5, r1]
|
|
cmp r7, #0
|
|
ble _021EB1EC
|
|
_021EB1C4:
|
|
ldrb r0, [r6, r4]
|
|
bl MOD75_021E8E10
|
|
ldrb r1, [r6, r4]
|
|
add r2, r0, #0
|
|
mov r0, #0x55
|
|
lsl r1, r1, #2
|
|
add r3, r5, r1
|
|
mov r1, #0x49
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r3, r1]
|
|
bl FUN_020128A0
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, r7
|
|
blt _021EB1C4
|
|
_021EB1EC:
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
str r0, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x1c
|
|
strb r1, [r0, #8]
|
|
mov r1, #1
|
|
strb r1, [r0, #9]
|
|
strb r7, [r0, #0xa]
|
|
ldrb r2, [r0, #0xb]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
strb r2, [r0, #0xb]
|
|
ldrb r2, [r0, #0xb]
|
|
mov r1, #0x30
|
|
bic r2, r1
|
|
strb r2, [r0, #0xb]
|
|
cmp r7, #4
|
|
ldrb r2, [r0, #0xb]
|
|
blo _021EB228
|
|
mov r1, #0xc0
|
|
bic r2, r1
|
|
mov r1, #0x40
|
|
orr r1, r2
|
|
strb r1, [r0, #0xb]
|
|
b _021EB22E
|
|
_021EB228:
|
|
mov r1, #0xc0
|
|
bic r2, r1
|
|
strb r2, [r0, #0xb]
|
|
_021EB22E:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x1c
|
|
mov r1, #8
|
|
add r3, r2, #0
|
|
bl FUN_02001B8C
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
mov r3, #0xc
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
add r1, r0, #0
|
|
mul r1, r3
|
|
add r0, r2, r1
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #3
|
|
bne _021EB298
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r5, #0
|
|
add r1, #0x66
|
|
ldrh r1, [r1]
|
|
bl MOD75_021EAB44
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r5, #0
|
|
add r1, #0x66
|
|
ldrh r1, [r1]
|
|
mov r2, #1
|
|
bl MOD75_021EC2B8
|
|
b _021EB31E
|
|
_021EB298:
|
|
ldr r0, [sp, #0x14]
|
|
add r4, r5, #4
|
|
lsl r6, r0, #4
|
|
ldr r2, _021EB33C ; =0x000003D9
|
|
add r0, r4, r6
|
|
mov r1, #1
|
|
bl FUN_0200D0BC
|
|
add r0, r4, r6
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x2a
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x38
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r1, #4
|
|
add r1, #0x64
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r1, r0, r1
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r1, #4]
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
sub r1, r1, #1
|
|
mov r2, #0
|
|
bl MOD75_021EAAA8
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r7, #0
|
|
bl FUN_0200B7B8
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
add r0, r4, r6
|
|
mov r1, #1
|
|
add r2, r7, #0
|
|
str r3, [sp, #8]
|
|
bl FUN_0201BD84
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02021A20
|
|
add r0, r4, r6
|
|
bl FUN_02019220
|
|
_021EB31E:
|
|
add r0, r5, #0
|
|
ldr r2, _021EB340 ; =0x000003F7
|
|
add r0, #0xb4
|
|
mov r1, #1
|
|
mov r3, #0xe
|
|
bl FUN_0200CCA4
|
|
add r5, #0xb4
|
|
add r0, r5, #0
|
|
bl FUN_02019220
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EB338: .word 0x00000337
|
|
_021EB33C: .word 0x000003D9
|
|
_021EB340: .word 0x000003F7
|
|
thumb_func_end MOD75_021EB130
|
|
|
|
thumb_func_start MOD75_021EB344
|
|
MOD75_021EB344: ; 0x021EB344
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r2, #0
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #4
|
|
bne _021EB362
|
|
mov r1, #4
|
|
b _021EB364
|
|
_021EB362:
|
|
mov r1, #3
|
|
_021EB364:
|
|
cmp r0, #3
|
|
beq _021EB37A
|
|
lsl r6, r1, #4
|
|
add r4, r5, #4
|
|
add r0, r4, r6
|
|
mov r1, #1
|
|
bl FUN_0200D0E0
|
|
add r0, r4, r6
|
|
bl FUN_0201958C
|
|
_021EB37A:
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
bl FUN_0201958C
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
bl FUN_02019178
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r5, #0
|
|
add r1, #0x66
|
|
ldrh r1, [r1]
|
|
bl MOD75_021EAAE8
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
bl FUN_02019220
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl MOD75_021EC2B8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD75_021EB344
|
|
|
|
thumb_func_start MOD75_021EB3D8
|
|
MOD75_021EB3D8: ; 0x021EB3D8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x2d
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0x82
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
ldr r1, _021EB44C ; =0x0000047B
|
|
add r4, r0, #0
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
sub r1, r1, #1
|
|
bl MOD75_021EAAA8
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EB450 ; =0x000F0E00
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x14
|
|
mov r3, #0x28
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r5, #0x14
|
|
add r0, r5, #0
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EB44C: .word 0x0000047B
|
|
_021EB450: .word 0x000F0E00
|
|
thumb_func_end MOD75_021EB3D8
|
|
|
|
thumb_func_start MOD75_021EB454
|
|
MOD75_021EB454: ; 0x021EB454
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
ldr r2, _021EB4FC ; =0x000003F7
|
|
add r5, r0, #0
|
|
add r0, #0x94
|
|
mov r1, #1
|
|
mov r3, #0xe
|
|
bl FUN_0200CCA4
|
|
add r0, r5, #0
|
|
bl MOD75_021EB504
|
|
add r0, r5, #0
|
|
ldr r2, _021EB500 ; =0x000003D9
|
|
add r0, #0x34
|
|
mov r1, #1
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r5, #0
|
|
add r0, #0x34
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x34
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0x38
|
|
mov r1, #6
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r2, r0
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r1, #4]
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
sub r1, r1, #1
|
|
mov r2, #0
|
|
bl MOD75_021EAAA8
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x34
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
str r3, [sp, #8]
|
|
bl FUN_0201BD84
|
|
add r5, #0x34
|
|
add r0, r5, #0
|
|
bl FUN_02019220
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021EB4FC: .word 0x000003F7
|
|
_021EB500: .word 0x000003D9
|
|
thumb_func_end MOD75_021EB454
|
|
|
|
thumb_func_start MOD75_021EB504
|
|
MOD75_021EB504: ; 0x021EB504
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x94
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x54
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _021EB57C ; =0x00000488
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldrsh r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
mov r2, #0xfe
|
|
str r1, [sp, #8]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0x10
|
|
bl FUN_0201BD84
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021EB57C: .word 0x00000488
|
|
thumb_func_end MOD75_021EB504
|
|
|
|
thumb_func_start MOD75_021EB580
|
|
MOD75_021EB580: ; 0x021EB580
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x34
|
|
mov r1, #1
|
|
bl FUN_0200D0E0
|
|
add r0, r4, #0
|
|
add r0, #0x94
|
|
mov r1, #1
|
|
bl FUN_0200CCF8
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl FUN_0201958C
|
|
add r0, r4, #0
|
|
add r0, #0x94
|
|
bl FUN_0201958C
|
|
add r4, #0x14
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021EB580
|
|
|
|
thumb_func_start MOD75_021EB5B0
|
|
MOD75_021EB5B0: ; 0x021EB5B0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
ldr r2, _021EB654 ; =0x000003D9
|
|
add r5, r0, #0
|
|
add r0, #0x64
|
|
mov r1, #1
|
|
mov r3, #0xc
|
|
bl FUN_0200D0BC
|
|
add r0, r5, #0
|
|
add r0, #0x64
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r2, r0, #4
|
|
add r0, #0x64
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r2, r0
|
|
ldr r0, _021EB658 ; =0x00000488
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #1
|
|
bne _021EB606
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r1, #4]
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
sub r1, r1, #1
|
|
mov r2, #0
|
|
bl MOD75_021EAAA8
|
|
b _021EB616
|
|
_021EB606:
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r1, #4]
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
sub r1, r1, #1
|
|
mov r2, #0
|
|
bl MOD75_021EAAC8
|
|
_021EB616:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r0, #0x46
|
|
ldr r2, _021EB658 ; =0x00000488
|
|
str r1, [sp, #4]
|
|
lsl r0, r0, #2
|
|
ldrsh r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
bl MOD75_021EB660
|
|
ldr r1, _021EB65C ; =0x00000426
|
|
strb r0, [r5, r1]
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EB654: .word 0x000003D9
|
|
_021EB658: .word 0x00000488
|
|
_021EB65C: .word 0x00000426
|
|
thumb_func_end MOD75_021EB5B0
|
|
|
|
thumb_func_start MOD75_021EB660
|
|
MOD75_021EB660: ; 0x021EB660
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl FUN_02002B60
|
|
mov r0, #0
|
|
bl FUN_02002B7C
|
|
add r0, r4, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FUN_02024FF4
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EB69C ; =MOD75_021EB6A0
|
|
mov r2, #0xfe
|
|
str r0, [sp, #8]
|
|
lsl r2, r2, #2
|
|
add r0, r4, #0
|
|
ldr r2, [r4, r2]
|
|
add r0, #0x64
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021EB69C: .word MOD75_021EB6A0
|
|
thumb_func_end MOD75_021EB660
|
|
|
|
thumb_func_start MOD75_021EB6A0
|
|
MOD75_021EB6A0: ; 0x021EB6A0
|
|
push {r3, lr}
|
|
cmp r1, #4
|
|
bhi _021EB6D8
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EB6B2: ; jump table
|
|
.short _021EB6D8 - _021EB6B2 - 2 ; case 0
|
|
.short _021EB6BC - _021EB6B2 - 2 ; case 1
|
|
.short _021EB6C2 - _021EB6B2 - 2 ; case 2
|
|
.short _021EB6C8 - _021EB6B2 - 2 ; case 3
|
|
.short _021EB6D0 - _021EB6B2 - 2 ; case 4
|
|
_021EB6BC:
|
|
bl FUN_02005514
|
|
pop {r3, pc}
|
|
_021EB6C2:
|
|
bl FUN_02005CBC
|
|
pop {r3, pc}
|
|
_021EB6C8:
|
|
ldr r0, _021EB6DC ; =0x0000060D
|
|
bl FUN_020054C8
|
|
b _021EB6D8
|
|
_021EB6D0:
|
|
ldr r0, _021EB6DC ; =0x0000060D
|
|
bl FUN_02005508
|
|
pop {r3, pc}
|
|
_021EB6D8:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021EB6DC: .word 0x0000060D
|
|
thumb_func_end MOD75_021EB6A0
|
|
|
|
thumb_func_start MOD75_021EB6E0
|
|
MOD75_021EB6E0: ; 0x021EB6E0
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, _021EB700 ; =0x021EC6AC
|
|
ldr r2, _021EB704 ; =0x000003F7
|
|
mov r3, #0xe
|
|
bl FUN_02002198
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021EB700: .word 0x021EC6AC
|
|
_021EB704: .word 0x000003F7
|
|
thumb_func_end MOD75_021EB6E0
|
|
|
|
thumb_func_start MOD75_021EB708
|
|
MOD75_021EB708: ; 0x021EB708
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x74
|
|
cmp r1, #0
|
|
bne _021EB722
|
|
ldr r2, _021EB7FC ; =0x000003F7
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #0xe
|
|
bl FUN_0200CCA4
|
|
_021EB722:
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x50
|
|
bl FUN_0200A914
|
|
mov r3, #2
|
|
add r6, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _021EB800 ; =0x00000488
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldrsh r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
mov r2, #0xfe
|
|
str r1, [sp, #8]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_0201BD84
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x51
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, _021EB804 ; =0x0000048C
|
|
mov r0, #0x46
|
|
ldr r3, [r5, r2]
|
|
sub r2, r2, #4
|
|
ldrsh r2, [r5, r2]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mul r2, r3
|
|
mov r1, #0
|
|
mov r3, #6
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #2
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
mov r2, #0xfe
|
|
str r1, [sp, #8]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
mov r5, #0x60
|
|
add r0, r4, #0
|
|
sub r3, r5, r3
|
|
bl FUN_0201BD84
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EB7FC: .word 0x000003F7
|
|
_021EB800: .word 0x00000488
|
|
_021EB804: .word 0x0000048C
|
|
thumb_func_end MOD75_021EB708
|
|
|
|
thumb_func_start MOD75_021EB808
|
|
MOD75_021EB808: ; 0x021EB808
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x84
|
|
cmp r1, #0
|
|
bne _021EB854
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
ldr r2, _021EB8E4 ; =0x000003F7
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #0xe
|
|
bl FUN_0200CCA4
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x4e
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #8]
|
|
bl FUN_0201BD84
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
b _021EB866
|
|
_021EB854:
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
mov r3, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
mov r2, #0
|
|
str r3, [sp, #4]
|
|
bl FUN_020196F4
|
|
_021EB866:
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x4f
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
bl FUN_02023A10
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
mov r3, #6
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #2
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
mov r2, #0xfe
|
|
str r1, [sp, #8]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
mov r5, #0x50
|
|
add r0, r4, #0
|
|
sub r3, r5, r3
|
|
bl FUN_0201BD84
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021EB8E4: .word 0x000003F7
|
|
thumb_func_end MOD75_021EB808
|
|
|
|
thumb_func_start MOD75_021EB8E8
|
|
MOD75_021EB8E8: ; 0x021EB8E8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0xa4
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
ldr r2, _021EB9B0 ; =0x000003F7
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #0xe
|
|
bl FUN_0200CCA4
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x6c
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #8]
|
|
bl FUN_0201BD84
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x6d
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FUN_02028048
|
|
bl FUN_020281B8
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
mov r0, #0x46
|
|
mov r1, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #2
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
mov r2, #0xfe
|
|
str r1, [sp, #8]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
mov r5, #0x58
|
|
add r0, r4, #0
|
|
sub r3, r5, r3
|
|
bl FUN_0201BD84
|
|
add r0, r4, #0
|
|
bl FUN_02019220
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EB9B0: .word 0x000003F7
|
|
thumb_func_end MOD75_021EB8E8
|
|
|
|
thumb_func_start MOD75_021EB9B4
|
|
MOD75_021EB9B4: ; 0x021EB9B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
mov r0, #0x20
|
|
mov r1, #6
|
|
bl FUN_0201C24C
|
|
add r0, r4, #0
|
|
bl MOD75_021EB9E4
|
|
add r0, r4, #0
|
|
bl MOD75_021EBA80
|
|
add r0, r4, #0
|
|
bl MOD75_021EBEAC
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021EB9B4
|
|
|
|
thumb_func_start MOD75_021EB9E4
|
|
MOD75_021EB9E4: ; 0x021EB9E4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x4c
|
|
ldr r3, _021EBA74 ; =0x021EC6D4
|
|
add r2, sp, #0x34
|
|
add r4, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r0, #6
|
|
bl FUN_0200BB14
|
|
add r1, r4, #0
|
|
add r1, #0xd8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
bl FUN_0200BB34
|
|
add r1, r4, #0
|
|
add r1, #0xdc
|
|
add r2, sp, #0x14
|
|
ldr r5, _021EBA78 ; =0x021EC6EC
|
|
str r0, [r1]
|
|
ldmia r5!, {r0, r1}
|
|
add r3, r2, #0
|
|
stmia r2!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
ldr r6, _021EBA7C ; =0x021EC6C0
|
|
stmia r2!, {r0, r1}
|
|
add r5, sp, #0
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r5, #0
|
|
stmia r5!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
ldr r0, [r6]
|
|
add r1, r3, #0
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
mov r3, #0x20
|
|
bl FUN_0200BB6C
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xc
|
|
bl FUN_0200BBF0
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
add r4, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r4]
|
|
add r2, sp, #0x34
|
|
bl FUN_0200BF60
|
|
add sp, #0x4c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021EBA74: .word 0x021EC6D4
|
|
_021EBA78: .word 0x021EC6EC
|
|
_021EBA7C: .word 0x021EC6C0
|
|
thumb_func_end MOD75_021EB9E4
|
|
|
|
thumb_func_start MOD75_021EBA80
|
|
MOD75_021EBA80: ; 0x021EBA80
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _021EBE38 ; =0x00000425
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _021EBA94
|
|
mov r3, #2
|
|
mov r4, #3
|
|
b _021EBA98
|
|
_021EBA94:
|
|
mov r3, #0x22
|
|
mov r4, #0x23
|
|
_021EBA98:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE3C ; =0x0000C0F9
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE40 ; =0x0000C0FA
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x15
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE44 ; =0x0000C0FB
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x18
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE48 ; =0x0000C0FC
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x1b
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE4C ; =0x0000C0FD
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #6
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE50 ; =0x0000C0FE
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x1e
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x3e
|
|
mov r3, #4
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl FUN_0206E640
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021EBE54 ; =0x0000C0FF
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x10
|
|
bl FUN_0200C00C
|
|
ldr r0, _021EBE58 ; =0x0000C101
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl FUN_0206E130
|
|
ldr r0, _021EBE5C ; =0x0000C102
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl FUN_0206E2AC
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _021EBE3C ; =0x0000C0F9
|
|
add r1, r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
add r3, r4, #0
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _021EBE40 ; =0x0000C0FA
|
|
add r1, r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x10
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
mov r1, #2
|
|
bl FUN_0206E640
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _021EBE48 ; =0x0000C0FC
|
|
add r1, r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x10
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _021EBE4C ; =0x0000C0FD
|
|
add r1, r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x3e
|
|
mov r3, #0xa
|
|
bl FUN_0200C06C
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r3, _021EBE50 ; =0x0000C0FE
|
|
mov r2, #1
|
|
bl FUN_0206E164
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, _021EBE44 ; =0x0000C0FB
|
|
add r1, r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x1f
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE3C ; =0x0000C0F9
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #1
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE40 ; =0x0000C0FA
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x14
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE44 ; =0x0000C0FB
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x17
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE48 ; =0x0000C0FC
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x1a
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE4C ; =0x0000C0FD
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #5
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE50 ; =0x0000C0FE
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x1d
|
|
bl FUN_0200C124
|
|
bl FUN_0206E708
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE54 ; =0x0000C0FF
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x10
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x3e
|
|
mov r3, #5
|
|
bl FUN_0200C124
|
|
mov r3, #0
|
|
add r1, r5, #0
|
|
ldr r0, _021EBE3C ; =0x0000C0F9
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE40 ; =0x0000C0FA
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x13
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE44 ; =0x0000C0FB
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x16
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE48 ; =0x0000C0FC
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x19
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE4C ; =0x0000C0FD
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #4
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE50 ; =0x0000C0FE
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xd
|
|
mov r3, #0x1c
|
|
bl FUN_0200C13C
|
|
bl FUN_0206E70C
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EBE54 ; =0x0000C0FF
|
|
b _021EBE60
|
|
nop
|
|
_021EBE38: .word 0x00000425
|
|
_021EBE3C: .word 0x0000C0F9
|
|
_021EBE40: .word 0x0000C0FA
|
|
_021EBE44: .word 0x0000C0FB
|
|
_021EBE48: .word 0x0000C0FC
|
|
_021EBE4C: .word 0x0000C0FD
|
|
_021EBE50: .word 0x0000C0FE
|
|
_021EBE54: .word 0x0000C0FF
|
|
_021EBE58: .word 0x0000C101
|
|
_021EBE5C: .word 0x0000C102
|
|
_021EBE60:
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x10
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x3e
|
|
mov r3, #6
|
|
bl FUN_0200C13C
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r5, #0xdc
|
|
ldr r2, _021EBEA8 ; =0x0000C101
|
|
ldr r0, [r0]
|
|
ldr r1, [r5]
|
|
add r3, r2, #0
|
|
bl FUN_0206E1D4
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EBEA8: .word 0x0000C101
|
|
thumb_func_end MOD75_021EBA80
|
|
|
|
thumb_func_start MOD75_021EBEAC
|
|
MOD75_021EBEAC: ; 0x021EBEAC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r4, _021EBFD8 ; =0x021EC70C
|
|
mov r7, #0
|
|
add r6, r5, #0
|
|
_021EBEB8:
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200C154
|
|
add r1, r6, #0
|
|
add r1, #0xe0
|
|
add r7, r7, #1
|
|
str r0, [r1]
|
|
add r4, #0x34
|
|
add r6, r6, #4
|
|
cmp r7, #0xc
|
|
blo _021EBEB8
|
|
add r0, r5, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
mov r0, #0x42
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
add r0, #0xfc
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _021EBF2A
|
|
add r0, r5, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
_021EBF2A:
|
|
ldr r0, _021EBFDC ; =0x00000424
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
bne _021EBF4A
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r0, r5, #0
|
|
add r0, #0xec
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
_021EBF4A:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD75_021EC298
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r2, #0x64
|
|
ldrb r3, [r2]
|
|
mov r2, #0xc
|
|
add r0, #0xe0
|
|
mul r2, r3
|
|
add r1, r1, r2
|
|
ldrb r1, [r1, #0xc]
|
|
ldr r0, [r0]
|
|
bl FUN_0200C5C0
|
|
add r1, r5, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
add r0, r5, #0
|
|
add r1, #0x64
|
|
ldrb r1, [r1]
|
|
bl MOD75_021EC18C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
mov r2, #0x61
|
|
bl FUN_0200C714
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r5, #0
|
|
add r3, r2, #0
|
|
add r3, #0x64
|
|
ldrb r4, [r3]
|
|
mov r3, #0xc
|
|
add r0, #0xf0
|
|
mul r3, r4
|
|
add r2, r2, r3
|
|
ldrh r2, [r2, #8]
|
|
ldr r0, [r0]
|
|
mov r1, #0xb1
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #4
|
|
add r2, #0x18
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
ldr r4, _021EBFE0 ; =0x021EC6B4
|
|
add r3, sp, #0
|
|
ldmia r4!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r4]
|
|
add r1, r2, #0
|
|
add r5, #0xe0
|
|
str r0, [r3]
|
|
ldr r0, [r5]
|
|
mov r2, #2
|
|
ldr r0, [r0]
|
|
bl FUN_02020074
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EBFD8: .word 0x021EC70C
|
|
_021EBFDC: .word 0x00000424
|
|
_021EBFE0: .word 0x021EC6B4
|
|
thumb_func_end MOD75_021EBEAC
|
|
|
|
thumb_func_start MOD75_021EBFE4
|
|
MOD75_021EBFE4: ; 0x021EBFE4
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021EBFEC:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
bl FUN_0200C3DC
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xc
|
|
blo _021EBFEC
|
|
add r0, r6, #0
|
|
add r1, r6, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl FUN_0200C398
|
|
add r6, #0xd8
|
|
ldr r0, [r6]
|
|
bl FUN_0200BD04
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD75_021EBFE4
|
|
|
|
thumb_func_start MOD75_021EC018
|
|
MOD75_021EC018: ; 0x021EC018
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021EC01E:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
bl FUN_0200C5A8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xc
|
|
blo _021EC01E
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EC018
|
|
|
|
thumb_func_start MOD75_021EC034
|
|
MOD75_021EC034: ; 0x021EC034
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_0206E640
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EC088 ; =0x0000C0FF
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x10
|
|
bl FUN_0200C9D8
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_0206E640
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021EC08C ; =0x0000C0FC
|
|
mov r2, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r5, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r5]
|
|
bl FUN_0200CA0C
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021EC088: .word 0x0000C0FF
|
|
_021EC08C: .word 0x0000C0FC
|
|
thumb_func_end MOD75_021EC034
|
|
|
|
thumb_func_start MOD75_021EC090
|
|
MOD75_021EC090: ; 0x021EC090
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xf0
|
|
ldr r0, [r0]
|
|
add r4, r1, #0
|
|
bl FUN_0200C66C
|
|
add r5, #0xe4
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_0200C66C
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EC090
|
|
|
|
thumb_func_start MOD75_021EC0AC
|
|
MOD75_021EC0AC: ; 0x021EC0AC
|
|
ldr r1, _021EC0C0 ; =0x00000454
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #0
|
|
bne _021EC0B8
|
|
mov r0, #1
|
|
b _021EC0BA
|
|
_021EC0B8:
|
|
mov r0, #0
|
|
_021EC0BA:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC0C0: .word 0x00000454
|
|
thumb_func_end MOD75_021EC0AC
|
|
|
|
thumb_func_start MOD75_021EC0C4
|
|
MOD75_021EC0C4: ; 0x021EC0C4
|
|
ldr r1, _021EC0D4 ; =0x00000457
|
|
mov r2, #0
|
|
strb r2, [r0, r1]
|
|
ldr r3, _021EC0D8 ; =MOD75_021EC1A4
|
|
mov r2, #1
|
|
sub r1, r1, #3
|
|
strb r2, [r0, r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_021EC0D4: .word 0x00000457
|
|
_021EC0D8: .word MOD75_021EC1A4
|
|
thumb_func_end MOD75_021EC0C4
|
|
|
|
thumb_func_start MOD75_021EC0DC
|
|
MOD75_021EC0DC: ; 0x021EC0DC
|
|
push {r3, lr}
|
|
ldr r1, _021EC0F0 ; =0x00000454
|
|
ldrb r1, [r0, r1]
|
|
cmp r1, #0
|
|
beq _021EC0EE
|
|
cmp r1, #1
|
|
bne _021EC0EE
|
|
bl MOD75_021EC0F4
|
|
_021EC0EE:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021EC0F0: .word 0x00000454
|
|
thumb_func_end MOD75_021EC0DC
|
|
|
|
thumb_func_start MOD75_021EC0F4
|
|
MOD75_021EC0F4: ; 0x021EC0F4
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FUN_0202011C
|
|
add r3, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #0
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
ldr r2, _021EC180 ; =0x00000455
|
|
ldrb r0, [r4, r2]
|
|
cmp r0, #0
|
|
bne _021EC12C
|
|
add r1, r2, #2
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
add r3, r4, r1
|
|
add r1, r2, #3
|
|
ldr r1, [r3, r1]
|
|
sub r0, r0, r1
|
|
str r0, [sp]
|
|
b _021EC13E
|
|
_021EC12C:
|
|
add r1, r2, #2
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
add r3, r4, r1
|
|
add r1, r2, #3
|
|
ldr r1, [r3, r1]
|
|
add r0, r0, r1
|
|
str r0, [sp]
|
|
_021EC13E:
|
|
add r0, r4, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02020044
|
|
ldr r1, _021EC184 ; =0x00000457
|
|
ldrb r0, [r4, r1]
|
|
add r0, r0, #1
|
|
strb r0, [r4, r1]
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #8
|
|
bne _021EC17C
|
|
add r1, #0x21
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl MOD75_021EC18C
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
bl FUN_02020044
|
|
ldr r0, _021EC188 ; =0x00000454
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
_021EC17C:
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021EC180: .word 0x00000455
|
|
_021EC184: .word 0x00000457
|
|
_021EC188: .word 0x00000454
|
|
thumb_func_end MOD75_021EC0F4
|
|
|
|
thumb_func_start MOD75_021EC18C
|
|
MOD75_021EC18C: ; 0x021EC18C
|
|
ldr r2, _021EC1A0 ; =0x00000427
|
|
ldrb r3, [r0, r2]
|
|
add r2, r2, #1
|
|
ldrb r0, [r0, r2]
|
|
mul r1, r0
|
|
add r0, r3, r1
|
|
add r0, r0, #6
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC1A0: .word 0x00000427
|
|
thumb_func_end MOD75_021EC18C
|
|
|
|
thumb_func_start MOD75_021EC1A4
|
|
MOD75_021EC1A4: ; 0x021EC1A4
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FUN_0202011C
|
|
add r3, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #0
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
ldr r1, _021EC240 ; =0x00000478
|
|
str r0, [r2]
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl MOD75_021EC18C
|
|
lsl r1, r0, #0xc
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
bge _021EC1DE
|
|
sub r0, r0, r1
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
mov r2, #0
|
|
b _021EC1E8
|
|
_021EC1DE:
|
|
sub r0, r1, r0
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
mov r2, #1
|
|
_021EC1E8:
|
|
ldr r1, _021EC244 ; =0x00000455
|
|
mov r3, #0x28
|
|
strb r2, [r4, r1]
|
|
add r5, r0, #0
|
|
ldr r1, _021EC248 ; =0x00000458
|
|
mov r2, #0
|
|
mul r5, r3
|
|
str r2, [r4, r1]
|
|
add r3, r1, #4
|
|
str r5, [r4, r3]
|
|
mov r3, #0x19
|
|
add r5, r0, #0
|
|
mul r5, r3
|
|
add r3, r1, #0
|
|
add r3, #8
|
|
str r5, [r4, r3]
|
|
mov r3, #0xf
|
|
add r5, r0, #0
|
|
mul r5, r3
|
|
add r3, r1, #0
|
|
add r3, #0xc
|
|
str r5, [r4, r3]
|
|
mov r3, #0xa
|
|
add r5, r0, #0
|
|
mul r5, r3
|
|
add r3, r1, #0
|
|
add r3, #0x10
|
|
str r5, [r4, r3]
|
|
mov r3, #7
|
|
add r5, r0, #0
|
|
mul r5, r3
|
|
add r3, r1, #0
|
|
add r3, #0x14
|
|
str r5, [r4, r3]
|
|
lsl r3, r0, #1
|
|
add r3, r0, r3
|
|
add r0, r1, #0
|
|
add r0, #0x18
|
|
str r3, [r4, r0]
|
|
add r1, #0x1c
|
|
str r2, [r4, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021EC240: .word 0x00000478
|
|
_021EC244: .word 0x00000455
|
|
_021EC248: .word 0x00000458
|
|
thumb_func_end MOD75_021EC1A4
|
|
|
|
thumb_func_start MOD75_021EC24C
|
|
MOD75_021EC24C: ; 0x021EC24C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
bne _021EC272
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xdc
|
|
mov r2, #0x9c
|
|
bl FUN_0200C714
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xdc
|
|
mov r2, #0xb4
|
|
bl FUN_0200C714
|
|
b _021EC28E
|
|
_021EC272:
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa2
|
|
mov r2, #0x6c
|
|
bl FUN_0200C714
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa2
|
|
mov r2, #0x84
|
|
bl FUN_0200C714
|
|
_021EC28E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD75_021EC298
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021EC24C
|
|
|
|
thumb_func_start MOD75_021EC298
|
|
MOD75_021EC298: ; 0x021EC298
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl FUN_0200C644
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_0200C644
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD75_021EC298
|
|
|
|
thumb_func_start MOD75_021EC2B8
|
|
MOD75_021EC2B8: ; 0x021EC2B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x42
|
|
lsl r0, r0, #2
|
|
add r4, r2, #0
|
|
add r6, r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_0200C644
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_0200C644
|
|
cmp r4, #0
|
|
beq _021EC374
|
|
add r0, r6, #0
|
|
bl FUN_0206EA30
|
|
mov r1, #3
|
|
add r4, r0, #0
|
|
bl FUN_0206AB18
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_0206AB18
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
bl FUN_0206E12C
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
bl FUN_0206E0F0
|
|
add r3, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _021EC378 ; =0x0000C101
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
add r2, r7, #0
|
|
bl FUN_0200C9D8
|
|
add r0, r6, #0
|
|
bl FUN_0206E114
|
|
add r1, r0, #0
|
|
mov r0, #0x42
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r1, #6
|
|
bl FUN_0200C66C
|
|
bl FUN_0206E2A8
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl FUN_0206E278
|
|
add r3, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _021EC37C ; =0x0000C102
|
|
add r1, r5, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200C9D8
|
|
add r0, r4, #0
|
|
bl FUN_0206E290
|
|
add r1, r0, #0
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r1, #6
|
|
bl FUN_0200C66C
|
|
_021EC374:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EC378: .word 0x0000C101
|
|
_021EC37C: .word 0x0000C102
|
|
thumb_func_end MOD75_021EC2B8
|
|
|
|
thumb_func_start MOD75_021EC380
|
|
MOD75_021EC380: ; 0x021EC380
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xf8
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r6, r2, #0
|
|
bl FUN_0200C644
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl FUN_0200C714
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0200C61C
|
|
add r5, #0xf8
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl FUN_0200C5C0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD75_021EC380
|
|
|
|
thumb_func_start MOD75_021EC3B8
|
|
MOD75_021EC3B8: ; 0x021EC3B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
bl FUN_0200C658
|
|
cmp r0, #1
|
|
bne _021EC3EE
|
|
add r0, r4, #0
|
|
add r0, #0xf8
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_0200C5B4
|
|
add r0, r4, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
bl FUN_0200C630
|
|
cmp r0, #2
|
|
bne _021EC3EE
|
|
add r4, #0xf8
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
_021EC3EE:
|
|
pop {r4, pc}
|
|
thumb_func_end MOD75_021EC3B8
|
|
|
|
.section .rodata
|
|
; 0x021EC3F0
|
|
.byte 0x11, 0x12, 0x00, 0x00, 0x38, 0x67, 0x68, 0x97, 0xFF, 0x00, 0x00, 0x00, 0x90, 0xB7, 0x88, 0xAF
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0xFE, 0x80, 0x50, 0x1A, 0xFE, 0x80, 0x50, 0x40, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0x80, 0x50, 0x10, 0xFE, 0x80, 0x50, 0x50, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x47, 0x08, 0x2F
|
|
.byte 0x78, 0x9F, 0x28, 0x4F, 0x78, 0x9F, 0xB0, 0xD7, 0x20, 0x47, 0xD0, 0xF7, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1D, 0x00
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x78, 0x1E, 0x02, 0x7D, 0x79, 0x1E, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x80
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x77, 0x10, 0x37, 0x78, 0x9F, 0x28, 0x4F, 0x90, 0xB7, 0x50, 0x77
|
|
.byte 0x90, 0xB7, 0x88, 0xAF, 0x78, 0x9F, 0xB0, 0xD7, 0x50, 0x77, 0xC8, 0xEF, 0x20, 0x47, 0xD0, 0xF7
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x20, 0x47, 0x08, 0x2F, 0x50, 0x77, 0x10, 0x37, 0x78, 0x9F, 0x28, 0x4F
|
|
.byte 0x90, 0xB7, 0x50, 0x77, 0x90, 0xB7, 0x88, 0xAF, 0x78, 0x9F, 0xB0, 0xD7, 0x50, 0x77, 0xC8, 0xEF
|
|
.byte 0x20, 0x47, 0xD0, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x8E, 0x1E, 0x02, 0x1D, 0x8E, 0x1E, 0x02, 0x1D, 0x8E, 0x1E, 0x02, 0x1D, 0x8E, 0x1E, 0x02
|
|
.byte 0x1D, 0x8E, 0x1E, 0x02, 0x7D, 0x94, 0x1E, 0x02, 0xA9, 0x97, 0x1E, 0x02, 0xE5, 0x97, 0x1E, 0x02
|
|
.byte 0x19, 0x98, 0x1E, 0x02, 0x3D, 0x94, 0x1E, 0x02, 0x5D, 0x94, 0x1E, 0x02, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x77, 0x10, 0x78, 0x10, 0x78, 0x10, 0x79, 0x10, 0x26, 0x10, 0x10, 0x10, 0x11, 0x10, 0x11, 0x10
|
|
.byte 0x12, 0x10, 0x13, 0x10, 0x14, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x34, 0x10, 0x14, 0x10
|
|
.byte 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x34, 0x10, 0x30, 0x10, 0x31, 0x10, 0x31, 0x10, 0x32, 0x10
|
|
.byte 0x33, 0x10, 0x26, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x26, 0x10, 0x02, 0x10
|
|
.byte 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x26, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10
|
|
.byte 0x26, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x26, 0x10, 0x02, 0x10, 0x02, 0x10
|
|
.byte 0x02, 0x10, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xC3, 0x1E, 0x02
|
|
.byte 0xFC, 0xC3, 0x1E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x1E, 0x02, 0x2C, 0xC4, 0x1E, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x1E, 0x02
|
|
.byte 0x24, 0xC5, 0x1E, 0x02, 0x9C, 0xC6, 0x1E, 0x02, 0x44, 0xC5, 0x1E, 0x02, 0x01, 0x04, 0x05, 0x0F
|
|
.byte 0x16, 0x0F, 0x1A, 0x04, 0xA5, 0x28, 0x0F, 0x64, 0x40, 0x0C, 0x1E, 0x32, 0x02, 0x0A, 0x05, 0x0F
|
|
.byte 0x0A, 0x12, 0x11, 0x12, 0x16, 0x0F, 0x19, 0x0A, 0x1A, 0x04, 0x00, 0x00, 0xA1, 0x6B, 0x1E, 0x02
|
|
.byte 0x6D, 0x6D, 0x1E, 0x02, 0x01, 0x6F, 0x1E, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x04, 0x02, 0x0A
|
|
.byte 0x05, 0x0F, 0x0A, 0x12, 0x11, 0x12, 0x16, 0x0F, 0x19, 0x0A, 0x1A, 0x04, 0x00, 0x17, 0x0D, 0x07
|
|
.byte 0x04, 0x03, 0x1B, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, 0x32, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xF9, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00
|
|
.byte 0xFA, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00
|
|
.byte 0xFD, 0xC0, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00
|
|
.byte 0xFA, 0xC0, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x18, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xFB, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xB1, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00
|
|
.byte 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00
|
|
.byte 0xFE, 0xC0, 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00
|
|
.byte 0xFC, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x9C, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0xC1, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xDC, 0x00, 0xB4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00
|
|
.byte 0x00, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00
|
|
.byte 0x01, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0xC1, 0x00, 0x00
|
|
.byte 0xFE, 0xC0, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|