pokediamond/arm9/modules/85/asm/module_85.s
2021-06-19 14:43:22 +02:00

17036 lines
318 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.section .text
.balign 4, 0
thumb_func_start MOD85_021D74E0
MOD85_021D74E0: ; 0x021D74E0
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl FUN_02015F1C
bl GX_DisableEngineALayers
bl GX_DisableEngineBLayers
mov r2, #2
mov r0, #3
mov r1, #0x4f
lsl r2, r2, #0x12
bl CreateHeap
add r0, r5, #0
mov r1, #8
mov r2, #0x4f
bl OverlayManager_CreateAndGetData
add r4, r0, #0
mov r0, #0
strb r0, [r4]
strb r0, [r4, #1]
strb r0, [r4, #2]
strb r0, [r4, #3]
strb r0, [r4, #4]
strb r0, [r4, #5]
strb r0, [r4, #6]
strb r0, [r4, #7]
add r0, r5, #0
bl OverlayManager_GetField18
str r0, [r4]
bl MOD85_021D76CC
add r5, r0, #0
str r5, [r4, #4]
bl MOD85_021D811C
add r0, r5, #0
bl MOD85_021D7FCC
add r0, r5, #0
bl MOD85_021D76FC
add r0, r5, #0
bl MOD85_021D797C
add r0, r5, #0
bl MOD85_021D7B28
bl MOD85_021D7C6C
add r0, r5, #0
bl MOD85_021D7CB0
add r0, r5, #0
bl MOD85_021D8188
add r0, r5, #0
bl MOD85_021DC108
add r0, r5, #0
bl MOD85_021DC24C
add r0, r5, #0
bl MOD85_021DC384
mov r1, #0
mov r0, #0x42
add r2, r1, #0
bl FUN_0200433C
add r0, r5, #0
bl MOD85_021D8020
mov r0, #8
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x4f
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl FUN_0200E1D0
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021D74E0
thumb_func_start MOD85_021D75A0
MOD85_021D75A0: ; 0x021D75A0
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
bl OverlayManager_GetData
ldr r5, [r0, #4]
ldr r0, [r4]
cmp r0, #3
bhi _021D7626
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021D75BE: ; jump table
.short _021D75C6 - _021D75BE - 2 ; case 0
.short _021D75D6 - _021D75BE - 2 ; case 1
.short _021D7608 - _021D75BE - 2 ; case 2
.short _021D7616 - _021D75BE - 2 ; case 3
_021D75C6:
bl FUN_0200E308
cmp r0, #0
beq _021D7626
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D7626
_021D75D6:
add r0, r5, #0
bl MOD85_021D820C
cmp r0, #1
bne _021D7626
ldr r0, [r4]
mov r1, #0
add r0, r0, #1
str r0, [r4]
mov r0, #8
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x4f
str r0, [sp, #8]
mov r0, #2
add r2, r1, #0
add r3, r1, #0
bl FUN_0200E1D0
add r0, r5, #0
mov r1, #0
bl MOD85_021D7FF4
b _021D7626
_021D7608:
bl FUN_0200E308
cmp r0, #0
beq _021D7626
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_021D7616:
add r0, r5, #0
bl MOD85_021D8014
cmp r0, #0
bne _021D7626
add sp, #0xc
mov r0, #1
pop {r4, r5, pc}
_021D7626:
ldr r0, _021D7640 ; =0x0000044C
ldr r0, [r5, r0]
bl FUN_02064584
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r5, r0]
bl MOD85_021DE830
mov r0, #0
add sp, #0xc
pop {r4, r5, pc}
nop
_021D7640: .word 0x0000044C
thumb_func_end MOD85_021D75A0
thumb_func_start MOD85_021D7644
MOD85_021D7644: ; 0x021D7644
push {r4, r5, r6, lr}
add r5, r0, #0
bl OverlayManager_GetData
add r6, r0, #0
mov r0, #0
ldr r4, [r6, #4]
add r1, r0, #0
bl Main_SetVBlankIntrCB
add r0, r6, #0
add r1, r4, #0
bl MOD85_021D769C
add r0, r4, #0
bl MOD85_021D7FE4
add r0, r4, #0
bl MOD85_021D77DC
add r0, r4, #0
bl MOD85_021D7BB8
add r0, r4, #0
bl MOD85_021D81AC
add r0, r4, #0
bl MOD85_021D8044
add r0, r4, #0
bl MOD85_021D8134
add r0, r4, #0
bl MOD85_021D76F4
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #0x4f
bl DestroyHeap
mov r0, #1
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021D7644
thumb_func_start MOD85_021D769C
MOD85_021D769C: ; 0x021D769C
push {r3, lr}
add r2, r1, #0
ldr r3, [r2, #0x60]
ldr r1, _021D76C8 ; =0x0000C350
cmp r3, r1
bls _021D76AA
add r3, r1, #0
_021D76AA:
ldr r1, [r0]
ldr r1, [r1]
str r3, [r1]
ldr r3, [r2, #0x20]
ldr r1, [r0]
str r3, [r1, #0xc]
ldr r0, [r0]
ldr r0, [r0, #8]
cmp r0, #0
beq _021D76C6
ldr r2, [r2, #0xc]
mov r1, #0xe
bl FUN_0202A11C
_021D76C6:
pop {r3, pc}
.align 2, 0
_021D76C8: .word 0x0000C350
thumb_func_end MOD85_021D769C
thumb_func_start MOD85_021D76CC
MOD85_021D76CC: ; 0x021D76CC
push {r4, lr}
add r4, r0, #0
ldr r0, _021D76EC ; =0x000004C8
bl MOD85_021D80F8
ldr r1, [r4]
ldr r1, [r1]
str r1, [r0, #0x60]
add r1, r0, #0
ldr r2, [r4, #4]
add r1, #0x88
str r2, [r1]
ldr r2, [r4, #0x10]
ldr r1, _021D76F0 ; =0x000004C4
str r2, [r0, r1]
pop {r4, pc}
.align 2, 0
_021D76EC: .word 0x000004C8
_021D76F0: .word 0x000004C4
thumb_func_end MOD85_021D76CC
thumb_func_start MOD85_021D76F4
MOD85_021D76F4: ; 0x021D76F4
ldr r3, _021D76F8 ; =FreeToHeap
bx r3
.align 2, 0
_021D76F8: .word FreeToHeap
thumb_func_end MOD85_021D76F4
thumb_func_start MOD85_021D76FC
MOD85_021D76FC: ; 0x021D76FC
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r0, #0x4f
bl BgConfig_Alloc
ldr r1, _021D77CC ; =0x0000043C
str r0, [r4, r1]
bl MOD85_021D77F8
ldr r0, _021D77CC ; =0x0000043C
ldr r0, [r4, r0]
bl MOD85_021D7818
bl MOD85_021D7930
mov r0, #1
add r1, r0, #0
bl GX_EngineAToggleLayers
mov r0, #2
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #4
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #8
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #1
mov r1, #0
bl GX_EngineBToggleLayers
mov r0, #2
mov r1, #0
bl GX_EngineBToggleLayers
mov r0, #4
mov r1, #0
bl GX_EngineBToggleLayers
mov r0, #8
mov r1, #1
bl GX_EngineBToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
ldr r0, _021D77D0 ; =0x04000008
mov r2, #3
ldrh r1, [r0]
mov r3, #1
mov r7, #2
bic r1, r2
strh r1, [r0]
ldrh r1, [r0, #2]
ldr r6, _021D77D4 ; =0x04001008
bic r1, r2
orr r1, r3
strh r1, [r0, #2]
ldrh r1, [r0, #4]
bic r1, r2
orr r1, r7
strh r1, [r0, #4]
ldrh r5, [r0, #6]
mov r1, #3
bic r5, r2
orr r5, r1
strh r5, [r0, #6]
ldrh r5, [r6]
bic r5, r2
strh r5, [r6]
ldrh r5, [r6, #2]
bic r5, r2
orr r3, r5
strh r3, [r6, #2]
ldrh r3, [r6, #4]
add r0, #0x48
bic r3, r2
orr r3, r7
strh r3, [r6, #4]
ldrh r3, [r6, #6]
bic r3, r2
orr r1, r3
strh r1, [r6, #6]
mov r1, #9
str r1, [sp]
mov r1, #4
mov r2, #0x10
mov r3, #8
bl G2x_SetBlendAlpha_
ldr r0, _021D77D8 ; =MOD85_021D80DC
add r1, r4, #0
bl Main_SetVBlankIntrCB
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021D77CC: .word 0x0000043C
_021D77D0: .word 0x04000008
_021D77D4: .word 0x04001008
_021D77D8: .word MOD85_021D80DC
thumb_func_end MOD85_021D76FC
thumb_func_start MOD85_021D77DC
MOD85_021D77DC: ; 0x021D77DC
push {r4, lr}
add r4, r0, #0
ldr r0, _021D77F4 ; =0x0000043C
ldr r0, [r4, r0]
bl MOD85_021D7904
add r0, r4, #0
bl MOD85_021D7D04
bl MOD85_021D7CA4
pop {r4, pc}
.align 2, 0
_021D77F4: .word 0x0000043C
thumb_func_end MOD85_021D77DC
thumb_func_start MOD85_021D77F8
MOD85_021D77F8: ; 0x021D77F8
push {r4, lr}
sub sp, #0x28
ldr r4, _021D7814 ; =0x021DED7C
add r3, sp, #0
mov r2, #5
_021D7802:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _021D7802
add r0, sp, #0
bl GX_SetBanks
add sp, #0x28
pop {r4, pc}
.align 2, 0
_021D7814: .word MOD85_021DED7C
thumb_func_end MOD85_021D77F8
thumb_func_start MOD85_021D7818
MOD85_021D7818: ; 0x021D7818
push {r3, r4, r5, lr}
sub sp, #0x80
ldr r2, _021D78EC ; =0x04000304
add r4, r0, #0
ldrh r1, [r2]
lsr r0, r2, #0xb
ldr r5, _021D78F0 ; =0x021DECEC
orr r0, r1
strh r0, [r2]
add r3, sp, #0x70
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 SetBothScreensModesAndDisable
ldr r5, _021D78F4 ; =0x021DED28
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, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x4f
bl BG_ClearCharDataRange
ldr r5, _021D78F8 ; =0x021DED44
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r5, _021D78FC ; =0x021DED60
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _021D7900 ; =0x021DED0C
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, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #7
bl BgClearTilemapBufferAndCommit
add sp, #0x80
pop {r3, r4, r5, pc}
.align 2, 0
_021D78EC: .word 0x04000304
_021D78F0: .word MOD85_021DECEC
_021D78F4: .word MOD85_021DED28
_021D78F8: .word MOD85_021DED44
_021D78FC: .word MOD85_021DED60
_021D7900: .word MOD85_021DED0C
thumb_func_end MOD85_021D7818
thumb_func_start MOD85_021D7904
MOD85_021D7904: ; 0x021D7904
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #7
bl FreeBgTilemapBuffer
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D7904
thumb_func_start MOD85_021D7930
MOD85_021D7930: ; 0x021D7930
push {r4, r5}
mov r0, #1
lsl r0, r0, #0x1a
ldr r2, [r0]
ldr r1, _021D7978 ; =0xFFFF1FFF
add r5, r0, #0
and r2, r1
lsr r1, r0, #0xd
orr r1, r2
str r1, [r0]
add r5, #0x48
ldrh r3, [r5]
mov r1, #0x3f
mov r2, #0x1f
bic r3, r1
add r4, r3, #0
orr r4, r2
mov r3, #0x20
orr r4, r3
strh r4, [r5]
add r4, r0, #0
add r4, #0x4a
ldrh r5, [r4]
bic r5, r1
add r1, r5, #0
orr r1, r2
orr r1, r3
strh r1, [r4]
add r1, r0, #0
mov r2, #0xff
add r1, #0x40
strh r2, [r1]
add r0, #0x44
strh r2, [r0]
pop {r4, r5}
bx lr
.align 2, 0
_021D7978: .word 0xFFFF1FFF
thumb_func_end MOD85_021D7930
thumb_func_start MOD85_021D797C
MOD85_021D797C: ; 0x021D797C
push {r3, r4, r5, lr}
mov r1, #3
mov r2, #0
add r4, r0, #0
bl MOD85_021D8144
ldr r1, _021D7B1C ; =0x00000448
add r5, r0, #0
add r1, r4, r1
bl NNS_G2dGetUnpackedPaletteData
ldr r1, _021D7B1C ; =0x00000448
mov r2, #0x1a
ldr r1, [r4, r1]
mov r0, #1
ldr r1, [r1, #0xc]
lsl r2, r2, #4
mov r3, #0
bl BG_LoadPlttData
add r0, r5, #0
bl FreeToHeap
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl MOD85_021D8144
ldr r1, _021D7B20 ; =0x00000444
add r5, r0, #0
add r1, r4, r1
bl NNS_G2dGetUnpackedCharacterData
ldr r0, _021D7B20 ; =0x00000444
mov r1, #0
ldr r3, [r4, r0]
sub r0, #8
str r1, [sp]
ldr r2, [r3, #0x14]
ldr r0, [r4, r0]
ldr r3, [r3, #0x10]
mov r1, #1
bl BG_LoadCharTilesData
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
mov r1, #1
mov r2, #0
bl MOD85_021D8144
mov r1, #0x11
lsl r1, r1, #6
add r1, r4, r1
add r5, r0, #0
bl NNS_G2dGetUnpackedScreenData
mov r0, #0x11
lsl r0, r0, #6
ldr r3, [r4, r0]
sub r0, r0, #4
add r2, r3, #0
ldr r0, [r4, r0]
ldr r3, [r3, #8]
mov r1, #1
add r2, #0xc
bl BG_LoadScreenTilemapData
ldr r0, _021D7B24 ; =0x0000043C
mov r1, #1
ldr r0, [r4, r0]
bl BgCommitTilemapBufferToVram
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
mov r1, #8
mov r2, #0
bl MOD85_021D8144
ldr r1, _021D7B20 ; =0x00000444
add r5, r0, #0
add r1, r4, r1
bl NNS_G2dGetUnpackedCharacterData
ldr r0, _021D7B20 ; =0x00000444
mov r1, #0
ldr r3, [r4, r0]
sub r0, #8
str r1, [sp]
ldr r2, [r3, #0x14]
ldr r0, [r4, r0]
ldr r3, [r3, #0x10]
mov r1, #2
bl BG_LoadCharTilesData
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
mov r1, #9
mov r2, #0
bl MOD85_021D8144
mov r1, #0x11
lsl r1, r1, #6
add r1, r4, r1
add r5, r0, #0
bl NNS_G2dGetUnpackedScreenData
mov r0, #0x11
lsl r0, r0, #6
ldr r3, [r4, r0]
sub r0, r0, #4
add r2, r3, #0
ldr r0, [r4, r0]
ldr r3, [r3, #8]
mov r1, #2
add r2, #0xc
bl BG_LoadScreenTilemapData
ldr r0, _021D7B24 ; =0x0000043C
mov r1, #2
ldr r0, [r4, r0]
bl BgCommitTilemapBufferToVram
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
mov r1, #3
mov r2, #0
bl MOD85_021D8144
ldr r1, _021D7B1C ; =0x00000448
add r5, r0, #0
add r1, r4, r1
bl NNS_G2dGetUnpackedPaletteData
ldr r1, _021D7B1C ; =0x00000448
mov r2, #0x1a
ldr r1, [r4, r1]
mov r0, #7
ldr r1, [r1, #0xc]
lsl r2, r2, #4
mov r3, #0
bl BG_LoadPlttData
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
mov r1, #2
mov r2, #0
bl MOD85_021D8144
ldr r1, _021D7B20 ; =0x00000444
add r5, r0, #0
add r1, r4, r1
bl NNS_G2dGetUnpackedCharacterData
ldr r0, _021D7B20 ; =0x00000444
mov r1, #0
ldr r3, [r4, r0]
sub r0, #8
str r1, [sp]
ldr r2, [r3, #0x14]
ldr r0, [r4, r0]
ldr r3, [r3, #0x10]
mov r1, #7
bl BG_LoadCharTilesData
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
mov r1, #4
mov r2, #0
bl MOD85_021D8144
mov r1, #0x11
lsl r1, r1, #6
add r1, r4, r1
add r5, r0, #0
bl NNS_G2dGetUnpackedScreenData
mov r0, #0x11
lsl r0, r0, #6
ldr r3, [r4, r0]
sub r0, r0, #4
add r2, r3, #0
ldr r0, [r4, r0]
ldr r3, [r3, #8]
mov r1, #7
add r2, #0xc
bl BG_LoadScreenTilemapData
ldr r0, _021D7B24 ; =0x0000043C
mov r1, #7
ldr r0, [r4, r0]
bl BgCommitTilemapBufferToVram
add r0, r5, #0
bl FreeToHeap
pop {r3, r4, r5, pc}
.align 2, 0
_021D7B1C: .word 0x00000448
_021D7B20: .word 0x00000444
_021D7B24: .word 0x0000043C
thumb_func_end MOD85_021D797C
thumb_func_start MOD85_021D7B28
MOD85_021D7B28: ; 0x021D7B28
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r0, _021D7BA4 ; =0x00000408
mov r1, #0
add r4, r5, r0
str r1, [sp]
mov r2, #0x4f
str r2, [sp, #4]
add r0, #0x34
ldr r0, [r5, r0]
mov r2, #1
mov r3, #0xf
bl FUN_0200CB00
ldr r1, _021D7BA8 ; =0x000004C4
mov r2, #0x1f
ldr r0, [r5, r1]
sub r1, #0x88
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x4f
str r0, [sp, #4]
ldr r0, [r5, r1]
mov r1, #0
mov r3, #0xe
bl FUN_0200CD68
mov r1, #0x1e
mov r0, #0
lsl r1, r1, #4
mov r2, #0x4f
bl FUN_02002EEC
ldr r2, _021D7BAC ; =0x000001E9
mov r0, #0
mov r1, #0x1a
mov r3, #0x4f
bl NewMsgDataFromNarc
ldr r1, _021D7BA4 ; =0x00000408
str r0, [r5, r1]
mov r0, #0x4f
bl ScrStrBufs_new
str r0, [r4, #4]
ldr r0, _021D7BB0 ; =0x0000043C
add r1, r4, #0
ldr r0, [r5, r0]
ldr r2, _021D7BB4 ; =0x021DECE4
add r1, #8
bl AddWindow
mov r0, #1
lsl r0, r0, #8
mov r1, #0x4f
bl String_ctor
str r0, [r4, #0x18]
add sp, #8
pop {r3, r4, r5, pc}
.align 2, 0
_021D7BA4: .word 0x00000408
_021D7BA8: .word 0x000004C4
_021D7BAC: .word 0x000001E9
_021D7BB0: .word 0x0000043C
_021D7BB4: .word MOD85_021DECE4
thumb_func_end MOD85_021D7B28
thumb_func_start MOD85_021D7BB8
MOD85_021D7BB8: ; 0x021D7BB8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _021D7BE8 ; =0x00000408
add r4, r5, r0
add r6, r4, #0
add r6, #8
add r0, r6, #0
bl ClearWindowTilemapAndCopyToVram
add r0, r6, #0
bl RemoveWindow
ldr r0, _021D7BE8 ; =0x00000408
ldr r0, [r5, r0]
bl DestroyMsgData
ldr r0, [r4, #4]
bl ScrStrBufs_delete
ldr r0, [r4, #0x18]
bl String_dtor
pop {r4, r5, r6, pc}
nop
_021D7BE8: .word 0x00000408
thumb_func_end MOD85_021D7BB8
thumb_func_start MOD85_021D7BEC
MOD85_021D7BEC: ; 0x021D7BEC
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _021D7C40 ; =0x00000408
add r6, r1, #0
add r4, r5, r0
add r0, r4, #0
add r0, #8
mov r1, #1
mov r2, #0x1f
mov r3, #0xe
bl FUN_0200D0BC
add r0, r4, #0
add r0, #8
mov r1, #0xf
bl FillWindowPixelBuffer
ldr r0, _021D7C40 ; =0x00000408
ldr r2, [r4, #0x18]
ldr r0, [r5, r0]
add r1, r6, #0
bl ReadMsgDataIntoString
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r3, [sp, #8]
add r0, r4, #0
ldr r2, [r4, #0x18]
add r0, #8
mov r1, #1
bl AddTextPrinterParameterized
add r4, #8
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_021D7C40: .word 0x00000408
thumb_func_end MOD85_021D7BEC
thumb_func_start MOD85_021D7C44
MOD85_021D7C44: ; 0x021D7C44
push {r3, r4, r5, lr}
ldr r4, _021D7C68 ; =0x00000408
add r5, r0, #0
add r0, r5, r4
add r0, #8
mov r1, #1
bl FUN_0200D0E0
add r0, r5, r4
add r0, #8
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, r4
add r0, #8
bl ScheduleWindowCopyToVram
pop {r3, r4, r5, pc}
.align 2, 0
_021D7C68: .word 0x00000408
thumb_func_end MOD85_021D7C44
thumb_func_start MOD85_021D7C6C
MOD85_021D7C6C: ; 0x021D7C6C
push {r4, lr}
sub sp, #0x10
ldr r4, _021D7C9C ; =0x021DECFC
add r3, sp, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r1, _021D7CA0 ; =0x00200010
add r0, r2, #0
add r2, r1, #0
bl FUN_0201D060
mov r0, #0x10
mov r1, #0x4f
bl FUN_0201E00C
bl FUN_0201D168
bl FUN_0201E0BC
add sp, #0x10
pop {r4, pc}
.align 2, 0
_021D7C9C: .word MOD85_021DECFC
_021D7CA0: .word 0x00200010
thumb_func_end MOD85_021D7C6C
thumb_func_start MOD85_021D7CA4
MOD85_021D7CA4: ; 0x021D7CA4
push {r3, lr}
bl FUN_0201D12C
bl FUN_0201E08C
pop {r3, pc}
thumb_func_end MOD85_021D7CA4
thumb_func_start MOD85_021D7CB0
MOD85_021D7CB0: ; 0x021D7CB0
push {r3, r4, lr}
sub sp, #0x1c
add r4, r0, #0
bl NNS_G2dInitOamManagerModule
mov r0, #0
str r0, [sp]
mov r1, #0x80
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x20
str r3, [sp, #0xc]
mov r2, #0x4f
str r2, [sp, #0x10]
add r2, r0, #0
bl FUN_02009EAC
mov r0, #0x10
str r0, [sp]
mov r1, #0x40
str r1, [sp, #4]
mov r2, #0x20
str r2, [sp, #8]
mov r3, #0xb
str r3, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r3, [sp, #0x14]
str r3, [sp, #0x18]
mov r0, #0x4f
add r3, r1, #0
bl MOD85_021DE5A4
mov r1, #0x45
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r4, #0
bl MOD85_021D7D1C
add sp, #0x1c
pop {r3, r4, pc}
.align 2, 0
thumb_func_end MOD85_021D7CB0
thumb_func_start MOD85_021D7D04
MOD85_021D7D04: ; 0x021D7D04
push {r4, lr}
add r4, r0, #0
bl MOD85_021D7FC8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
bl MOD85_021DE710
bl FUN_02009FA0
pop {r4, pc}
thumb_func_end MOD85_021D7D04
thumb_func_start MOD85_021D7D1C
MOD85_021D7D1C: ; 0x021D7D1C
push {r3, r4, lr}
sub sp, #4
mov r2, #0x45
add r4, r0, #0
mov r0, #0
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #1
mov r3, #0xb
bl MOD85_021DE840
mov r1, #1
mov r2, #0x45
str r1, [sp]
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r3, #0x15
bl MOD85_021DE840
mov r2, #0x45
mov r0, #6
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x44
bl MOD85_021DE840
mov r2, #0x45
mov r0, #7
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x47
bl MOD85_021DE840
mov r2, #0x45
mov r0, #8
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x40
bl MOD85_021DE840
mov r2, #0x45
mov r0, #9
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x3c
bl MOD85_021DE840
mov r2, #0x45
mov r0, #0
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #3
mov r3, #0xa
bl MOD85_021DE910
mov r1, #1
mov r2, #0x45
str r1, [sp]
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r3, #0x14
bl MOD85_021DE910
mov r2, #0x45
mov r0, #6
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x43
bl MOD85_021DE910
mov r2, #0x45
mov r0, #7
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x3f
bl MOD85_021DE910
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0xc
mov r3, #0
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x16
mov r3, #1
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x45
mov r3, #6
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x48
mov r3, #7
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x41
mov r3, #8
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x3d
mov r3, #9
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0xd
mov r3, #0
bl MOD85_021DEA4C
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x17
mov r3, #1
bl MOD85_021DEA4C
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x46
mov r3, #6
bl MOD85_021DEA4C
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x49
mov r3, #7
bl MOD85_021DEA4C
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x42
mov r3, #8
bl MOD85_021DEA4C
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x3e
mov r3, #9
bl MOD85_021DEA4C
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #6
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #7
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #8
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #9
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl MOD85_021DE8DC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl MOD85_021DE8DC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #6
bl MOD85_021DE8DC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #7
bl MOD85_021DE8DC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #8
bl MOD85_021DE8DC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #9
bl MOD85_021DE8DC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl MOD85_021DE97C
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl MOD85_021DE97C
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #6
bl MOD85_021DE97C
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #7
bl MOD85_021DE97C
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl MOD85_021DE9B0
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl MOD85_021DE9B0
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #6
bl MOD85_021DE9B0
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #7
bl MOD85_021DE9B0
add sp, #4
pop {r3, r4, pc}
.align 2, 0
thumb_func_end MOD85_021D7D1C
thumb_func_start MOD85_021D7FC8
MOD85_021D7FC8: ; 0x021D7FC8
bx lr
.align 2, 0
thumb_func_end MOD85_021D7FC8
thumb_func_start MOD85_021D7FCC
MOD85_021D7FCC: ; 0x021D7FCC
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
mov r1, #0x80
bl FUN_020643C0
ldr r1, _021D7FE0 ; =0x0000044C
str r0, [r4, r1]
pop {r4, pc}
nop
_021D7FE0: .word 0x0000044C
thumb_func_end MOD85_021D7FCC
thumb_func_start MOD85_021D7FE4
MOD85_021D7FE4: ; 0x021D7FE4
ldr r1, _021D7FEC ; =0x0000044C
ldr r3, _021D7FF0 ; =FUN_020643F0
ldr r0, [r0, r1]
bx r3
.align 2, 0
_021D7FEC: .word 0x0000044C
_021D7FF0: .word FUN_020643F0
thumb_func_end MOD85_021D7FE4
thumb_func_start MOD85_021D7FF4
MOD85_021D7FF4: ; 0x021D7FF4
ldr r2, _021D8010 ; =0x00000424
add r2, r0, r2
ldr r0, [r2, #8]
cmp r0, r1
beq _021D800C
ldr r0, [r2, #0xc]
cmp r0, r1
beq _021D800C
str r1, [r2, #0xc]
mov r0, #1
str r0, [r2]
str r0, [r2, #4]
_021D800C:
bx lr
nop
_021D8010: .word 0x00000424
thumb_func_end MOD85_021D7FF4
thumb_func_start MOD85_021D8014
MOD85_021D8014: ; 0x021D8014
ldr r1, _021D801C ; =0x00000428
ldr r0, [r0, r1]
bx lr
nop
_021D801C: .word 0x00000428
thumb_func_end MOD85_021D8014
thumb_func_start MOD85_021D8020
MOD85_021D8020: ; 0x021D8020
push {r4, lr}
add r1, r0, #0
ldr r0, _021D803C ; =0x00000424
mov r2, #0x90
add r4, r1, r0
mov r0, #0
str r0, [r4, #8]
mov r0, #3
str r0, [r4, #0xc]
ldr r0, _021D8040 ; =MOD85_021D8054
bl FUN_0200CA44
str r0, [r4, #0x10]
pop {r4, pc}
.align 2, 0
_021D803C: .word 0x00000424
_021D8040: .word MOD85_021D8054
thumb_func_end MOD85_021D8020
thumb_func_start MOD85_021D8044
MOD85_021D8044: ; 0x021D8044
ldr r1, _021D804C ; =0x00000434
ldr r3, _021D8050 ; =FUN_0200CAB4
ldr r0, [r0, r1]
bx r3
.align 2, 0
_021D804C: .word 0x00000434
_021D8050: .word FUN_0200CAB4
thumb_func_end MOD85_021D8044
thumb_func_start MOD85_021D8054
MOD85_021D8054: ; 0x021D8054
push {r4, lr}
ldr r0, _021D80D8 ; =0x00000424
add r4, r1, r0
ldr r1, [r4]
cmp r1, #0
beq _021D80D4
cmp r1, #1
beq _021D806A
cmp r1, #2
beq _021D809E
pop {r4, pc}
_021D806A:
ldr r1, [r4, #8]
cmp r1, #0
beq _021D807A
cmp r1, #1
beq _021D8084
cmp r1, #2
beq _021D808E
b _021D8096
_021D807A:
mov r0, #1
add r1, r0, #0
bl FUN_020047C8
b _021D8096
_021D8084:
add r0, #0x7c
mov r1, #0
bl FUN_02005350
b _021D8096
_021D808E:
add r0, #0x7d
mov r1, #0
bl FUN_02005350
_021D8096:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
pop {r4, pc}
_021D809E:
ldr r1, [r4, #0xc]
cmp r1, #0
beq _021D80AE
cmp r1, #1
beq _021D80B8
cmp r1, #2
beq _021D80C0
b _021D80C6
_021D80AE:
mov r0, #1
mov r1, #0
bl FUN_020047C8
b _021D80C6
_021D80B8:
add r0, #0x7c
bl FUN_020051F4
b _021D80C6
_021D80C0:
add r0, #0x7d
bl FUN_020051F4
_021D80C6:
ldr r0, [r4, #0xc]
str r0, [r4, #8]
mov r0, #3
str r0, [r4, #0xc]
mov r0, #0
str r0, [r4, #4]
str r0, [r4]
_021D80D4:
pop {r4, pc}
nop
_021D80D8: .word 0x00000424
thumb_func_end MOD85_021D8054
thumb_func_start MOD85_021D80DC
MOD85_021D80DC: ; 0x021D80DC
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
bl FUN_02009F80
ldr r0, _021D80F4 ; =0x0000043C
ldr r0, [r4, r0]
bl DoScheduledBgGpuUpdates
pop {r4, pc}
nop
_021D80F4: .word 0x0000043C
thumb_func_end MOD85_021D80DC
thumb_func_start MOD85_021D80F8
MOD85_021D80F8: ; 0x021D80F8
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x4f
add r1, r5, #0
bl AllocFromHeap
add r4, r0, #0
bne _021D810C
bl GF_AssertFail
_021D810C:
add r0, r4, #0
mov r1, #0
add r2, r5, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021D80F8
thumb_func_start MOD85_021D811C
MOD85_021D811C: ; 0x021D811C
push {r4, lr}
add r4, r0, #0
mov r0, #0x85
mov r1, #0x4f
bl NARC_ctor
ldr r1, _021D8130 ; =0x00000438
str r0, [r4, r1]
pop {r4, pc}
nop
_021D8130: .word 0x00000438
thumb_func_end MOD85_021D811C
thumb_func_start MOD85_021D8134
MOD85_021D8134: ; 0x021D8134
ldr r1, _021D813C ; =0x00000438
ldr r3, _021D8140 ; =NARC_dtor
ldr r0, [r0, r1]
bx r3
.align 2, 0
_021D813C: .word 0x00000438
_021D8140: .word NARC_dtor
thumb_func_end MOD85_021D8134
thumb_func_start MOD85_021D8144
MOD85_021D8144: ; 0x021D8144
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r0, _021D8184 ; =0x00000438
add r6, r1, #0
ldr r0, [r4, r0]
add r5, r2, #0
bl NARC_GetMemberSize
add r1, r0, #0
cmp r5, #1
bne _021D8162
mov r0, #0x4f
bl AllocFromHeap
b _021D8168
_021D8162:
mov r0, #0x4f
bl AllocFromHeapAtEnd
_021D8168:
add r5, r0, #0
cmp r5, #0
bne _021D8172
bl GF_AssertFail
_021D8172:
ldr r0, _021D8184 ; =0x00000438
add r1, r6, #0
ldr r0, [r4, r0]
add r2, r5, #0
bl NARC_ReadWholeMember
add r0, r5, #0
pop {r4, r5, r6, pc}
nop
_021D8184: .word 0x00000438
thumb_func_end MOD85_021D8144
thumb_func_start MOD85_021D8188
MOD85_021D8188: ; 0x021D8188
push {r4, lr}
add r4, r0, #0
bl MOD85_021D81C8
add r0, r4, #0
bl MOD85_021D92E8
add r0, r4, #0
bl MOD85_021DAD20
add r0, r4, #0
bl MOD85_021DAEC0
add r0, r4, #0
bl MOD85_021DB494
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8188
thumb_func_start MOD85_021D81AC
MOD85_021D81AC: ; 0x021D81AC
push {r4, lr}
add r4, r0, #0
bl MOD85_021D931C
add r0, r4, #0
bl MOD85_021DAD44
add r0, r4, #0
bl MOD85_021DAEE4
add r0, r4, #0
bl MOD85_021DB600
pop {r4, pc}
thumb_func_end MOD85_021D81AC
thumb_func_start MOD85_021D81C8
MOD85_021D81C8: ; 0x021D81C8
push {r3, r4, r5, r6, r7, lr}
mov r7, #0x15
add r5, r0, #0
mov r4, #0
lsl r6, r7, #0x11
_021D81D2:
bl LCRandom
add r1, r7, #0
bl _s32_div_f
add r0, r5, #0
add r0, #0xa8
str r1, [r0]
lsl r0, r1, #0x11
sub r1, r6, r0
add r0, r5, #0
add r0, #0x90
str r1, [r0]
add r0, r5, #0
add r0, #0x90
mov r1, #0x2a
ldr r0, [r0]
lsl r1, r1, #0x10
bl _s32_div_f
add r0, r5, #0
add r0, #0x90
add r4, r4, #1
add r5, r5, #4
str r1, [r0]
cmp r4, #3
blt _021D81D2
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021D81C8
thumb_func_start MOD85_021D820C
MOD85_021D820C: ; 0x021D820C
push {r3, r4, r5, lr}
ldr r4, _021D822C ; =0x021DEF94
add r5, r0, #0
_021D8212:
ldr r1, [r5]
add r0, r5, #0
lsl r1, r1, #2
ldr r1, [r4, r1]
blx r1
cmp r0, #1
beq _021D8212
cmp r0, #2
bne _021D8228
mov r0, #1
pop {r3, r4, r5, pc}
_021D8228:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_021D822C: .word MOD85_021DEF94
thumb_func_end MOD85_021D820C
thumb_func_start MOD85_021D8230
MOD85_021D8230: ; 0x021D8230
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x64]
mov r3, #1
add r2, r4, #0
str r1, [r4, #0x68]
lsl r3, r3, #0x10
add r2, #0x8c
str r3, [r2]
str r1, [r4, #0x74]
str r1, [r4, #8]
mov r2, #1
str r2, [r4]
bl MOD85_021DC094
add r0, r4, #0
mov r1, #1
bl MOD85_021DC094
add r0, r4, #0
mov r1, #2
bl MOD85_021DC094
add r0, r4, #0
bl MOD85_021DB754
add r0, r4, #0
bl MOD85_021DB95C
ldr r1, [r4, #0x60]
cmp r1, #0
bne _021D827C
mov r0, #0x3c
str r0, [r4]
mov r0, #0x3f
str r0, [r4, #4]
b _021D8298
_021D827C:
cmp r1, #3
bge _021D828A
mov r0, #0x3b
str r0, [r4]
mov r0, #0x3f
str r0, [r4, #4]
b _021D8298
_021D828A:
ldr r0, _021D829C ; =0x0000C350
cmp r1, r0
blt _021D8298
mov r0, #0x3d
str r0, [r4]
mov r0, #1
str r0, [r4, #4]
_021D8298:
mov r0, #1
pop {r4, pc}
.align 2, 0
_021D829C: .word 0x0000C350
thumb_func_end MOD85_021D8230
thumb_func_start MOD85_021D82A0
MOD85_021D82A0: ; 0x021D82A0
push {r4, lr}
add r4, r0, #0
mov r0, #8
bl MOD85_021DBD54
cmp r0, #0
beq _021D82BC
add r0, r4, #0
bl MOD85_021DB9A0
mov r0, #0x3f
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D82BC:
mov r0, #1
lsl r0, r0, #0xa
bl MOD85_021DBD54
cmp r0, #0
beq _021D82F0
ldr r0, [r4, #0x60]
sub r0, r0, #3
str r0, [r4, #0x60]
ldr r0, _021D82F4 ; =0x0000045C
ldr r1, [r4, r0]
add r1, r1, #3
str r1, [r4, r0]
mov r0, #2
str r0, [r4]
ldr r0, _021D82F8 ; =0x000005ED
bl PlaySE
add r0, r4, #0
bl MOD85_021DB9A0
add r0, r4, #0
bl MOD85_021DB76C
mov r0, #0
pop {r4, pc}
_021D82F0:
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D82F4: .word 0x0000045C
_021D82F8: .word 0x000005ED
thumb_func_end MOD85_021D82A0
thumb_func_start MOD85_021D82FC
MOD85_021D82FC: ; 0x021D82FC
push {r4, lr}
add r4, r0, #0
mov r0, #8
bl MOD85_021DBD54
cmp r0, #0
beq _021D8318
ldr r0, [r4, #0x60]
add r0, r0, #3
str r0, [r4, #0x60]
mov r0, #0x3f
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D8318:
mov r0, #0x12
lsl r0, r0, #6
bl MOD85_021DBD54
cmp r0, #0
beq _021D832C
mov r0, #3
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D832C:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D82FC
thumb_func_start MOD85_021D8330
MOD85_021D8330: ; 0x021D8330
push {r4, lr}
add r4, r0, #0
bl MOD85_021DA804
mov r0, #0x46
lsl r0, r0, #4
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
add r1, r0, #4
ldr r1, [r4, r1]
add r0, r0, #4
add r1, r1, #1
str r1, [r4, r0]
mov r0, #0
str r0, [r4, #0x70]
ldr r1, [r4, #0x74]
mov r0, #0x33
tst r0, r1
beq _021D835C
mov r0, #1
str r0, [r4, #0x70]
_021D835C:
mov r0, #0
str r0, [r4, #0x30]
ldr r0, [r4, #0x74]
cmp r0, #0
beq _021D8398
add r0, r4, #0
bl MOD85_021DA948
cmp r0, #0
bne _021D8378
mov r0, #0x55
mov r1, #4
lsl r0, r0, #2
b _021D838C
_021D8378:
ldr r0, [r4, #0x74]
bl MOD85_021DBF70
mov r1, #0x55
lsl r1, r1, #2
str r0, [r4, r1]
mov r0, #0x49
lsl r0, r0, #4
ldr r1, [r4, r0]
add r1, r1, #1
_021D838C:
str r1, [r4, r0]
mov r1, #1
add r0, r4, #0
str r1, [r4, #0x30]
bl MOD85_021DAEF4
_021D8398:
add r0, r4, #0
mov r1, #0
bl MOD85_021DC094
add r0, r4, #0
mov r1, #1
bl MOD85_021DC094
add r0, r4, #0
mov r1, #2
bl MOD85_021DC094
add r0, r4, #0
bl MOD85_021DB76C
add r0, r4, #0
mov r1, #0
bl MOD85_021D9338
add r0, r4, #0
mov r1, #1
bl MOD85_021D9338
add r0, r4, #0
mov r1, #2
bl MOD85_021D9338
add r0, r4, #0
bl MOD85_021DBFA4
mov r1, #1
add r0, r4, #0
str r1, [r4, #0x7c]
add r0, #0x80
str r1, [r0]
add r0, r4, #0
add r0, #0x84
str r1, [r0]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #4
str r0, [r4]
ldr r0, _021D83F8 ; =0x000005EE
bl PlaySE
mov r0, #1
pop {r4, pc}
nop
_021D83F8: .word 0x000005EE
thumb_func_end MOD85_021D8330
thumb_func_start MOD85_021D83FC
MOD85_021D83FC: ; 0x021D83FC
mov r1, #1
ldr r2, [r0, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
lsl r1, r1, #3
str r2, [r0, #0x6c]
cmp r2, r1
blt _021D8418
mov r1, #0
str r1, [r0, #0x6c]
mov r1, #5
str r1, [r0]
mov r0, #1
bx lr
_021D8418:
mov r0, #0
bx lr
thumb_func_end MOD85_021D83FC
thumb_func_start MOD85_021D841C
MOD85_021D841C: ; 0x021D841C
push {r4, lr}
ldr r1, _021D850C ; =gMain
add r4, r0, #0
ldr r2, [r1, #0x48]
ldr r1, [r4, #0x7c]
cmp r1, #1
bne _021D8462
mov r1, #2
lsl r1, r1, #0xa
add r3, r2, #0
tst r3, r1
beq _021D8462
mov r2, #2
str r2, [r4, #0x7c]
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DBFDC
cmp r0, #0
bne _021D844A
mov r0, #0
str r0, [r4, #0x70]
_021D844A:
add r0, r4, #0
mov r1, #0
bl MOD85_021DC050
add r0, r4, #0
mov r1, #0
bl MOD85_021D9350
ldr r0, _021D8510 ; =0x00000626
bl PlaySE
b _021D84EA
_021D8462:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _021D84A6
mov r1, #2
add r0, r2, #0
tst r0, r1
beq _021D84A6
add r0, r4, #0
add r0, #0x80
str r1, [r0]
add r0, r4, #0
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DBFDC
cmp r0, #0
bne _021D848E
mov r0, #0
str r0, [r4, #0x70]
_021D848E:
add r0, r4, #0
mov r1, #1
bl MOD85_021DC050
add r0, r4, #0
mov r1, #1
bl MOD85_021D9350
ldr r0, _021D8510 ; =0x00000626
bl PlaySE
b _021D84EA
_021D84A6:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #1
bne _021D84EA
mov r1, #1
add r0, r2, #0
tst r0, r1
beq _021D84EA
add r0, r4, #0
mov r2, #2
add r0, #0x84
str r2, [r0]
add r0, r4, #0
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DBFDC
cmp r0, #0
bne _021D84D4
mov r0, #0
str r0, [r4, #0x70]
_021D84D4:
add r0, r4, #0
mov r1, #2
bl MOD85_021DC050
add r0, r4, #0
mov r1, #2
bl MOD85_021D9350
ldr r0, _021D8510 ; =0x00000626
bl PlaySE
_021D84EA:
ldr r0, [r4, #0x7c]
cmp r0, #2
bne _021D8508
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #2
bne _021D8508
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #2
bne _021D8508
mov r0, #6
str r0, [r4]
_021D8508:
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D850C: .word gMain
_021D8510: .word 0x00000626
thumb_func_end MOD85_021D841C
thumb_func_start MOD85_021D8514
MOD85_021D8514: ; 0x021D8514
push {r4, lr}
mov r1, #0
add r4, r0, #0
bl MOD85_021D9360
cmp r0, #1
beq _021D853A
add r0, r4, #0
mov r1, #1
bl MOD85_021D9360
cmp r0, #1
beq _021D853A
add r0, r4, #0
mov r1, #2
bl MOD85_021D9360
cmp r0, #1
bne _021D853E
_021D853A:
mov r0, #0
pop {r4, pc}
_021D853E:
add r0, r4, #0
bl MOD85_021DB754
mov r0, #7
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D8514
thumb_func_start MOD85_021D854C
MOD85_021D854C: ; 0x021D854C
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
ldr r1, [r4, #0x74]
add r2, #0x48
bl MOD85_021DBED4
str r0, [r4, #0x44]
cmp r0, #6
bne _021D8584
ldr r1, [r4, #0x74]
mov r0, #0xaa
tst r0, r1
beq _021D8570
mov r0, #0x10
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8570:
cmp r1, #0
beq _021D857C
mov r0, #0xa
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D857C:
mov r0, #8
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8584:
ldr r2, [r4, #0x74]
mov r1, #0xaa
tst r1, r2
beq _021D859E
mov r0, #2
tst r0, r2
beq _021D8596
mov r0, #0x15
b _021D8598
_021D8596:
mov r0, #0x13
_021D8598:
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D859E:
cmp r0, #2
bne _021D85AA
mov r0, #0xe
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D85AA:
mov r0, #0xc
str r0, [r4]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D854C
thumb_func_start MOD85_021D85B4
MOD85_021D85B4: ; 0x021D85B4
push {r4, lr}
add r4, r0, #0
bl MOD85_021DB754
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #9
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D85B4
thumb_func_start MOD85_021D85C8
MOD85_021D85C8: ; 0x021D85C8
mov r1, #1
ldr r2, [r0, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
lsl r1, r1, #3
str r2, [r0, #0x6c]
cmp r2, r1
blt _021D85DE
mov r1, #0
str r1, [r0, #0x6c]
str r1, [r0]
_021D85DE:
mov r0, #0
bx lr
.align 2, 0
thumb_func_end MOD85_021D85C8
thumb_func_start MOD85_021D85E4
MOD85_021D85E4: ; 0x021D85E4
push {r4, lr}
add r4, r0, #0
bl MOD85_021DB754
add r0, r4, #0
mov r1, #2
bl MOD85_021DAEF4
mov r0, #0xb
str r0, [r4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D85E4
thumb_func_start MOD85_021D85FC
MOD85_021D85FC: ; 0x021D85FC
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAF08
cmp r0, #1
bne _021D8618
add r0, r4, #0
mov r1, #0
bl MOD85_021DAEF4
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8618:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D85FC
thumb_func_start MOD85_021D861C
MOD85_021D861C: ; 0x021D861C
push {r4, lr}
add r4, r0, #0
bl MOD85_021DC0D8
ldr r1, _021D8648 ; =0x00000458
str r0, [r4, #0x64]
ldr r2, [r4, r1]
add r0, r2, r0
str r0, [r4, r1]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0xd
str r0, [r4]
add r0, r4, #0
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xb
bl MOD85_021DAEF4
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D8648: .word 0x00000458
thumb_func_end MOD85_021D861C
thumb_func_start MOD85_021D864C
MOD85_021D864C: ; 0x021D864C
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r2, [r4, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
mov r1, #0x1e
lsl r1, r1, #0xc
str r2, [r4, #0x6c]
cmp r2, r1
bne _021D866A
mov r1, #2
bl MOD85_021DAEF4
b _021D8690
_021D866A:
ble _021D8690
bl MOD85_021DAD68
cmp r0, #1
bne _021D8690
add r0, r4, #0
bl MOD85_021DAF08
cmp r0, #1
bne _021D8690
add r0, r4, #0
mov r1, #0
bl MOD85_021DAEF4
mov r0, #0
str r0, [r4, #0x6c]
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8690:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D864C
thumb_func_start MOD85_021D8694
MOD85_021D8694: ; 0x021D8694
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x64]
str r1, [r4, #0x6c]
mov r1, #0xf
str r1, [r4]
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xb
bl MOD85_021DAEF4
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8694
thumb_func_start MOD85_021D86B4
MOD85_021D86B4: ; 0x021D86B4
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r2, [r4, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
mov r1, #0xf
lsl r1, r1, #0xc
str r2, [r4, #0x6c]
cmp r2, r1
bne _021D86D2
mov r1, #2
bl MOD85_021DAEF4
b _021D86FA
_021D86D2:
ble _021D86FA
bl MOD85_021DAD68
cmp r0, #1
bne _021D86FA
add r0, r4, #0
bl MOD85_021DAF08
cmp r0, #1
bne _021D86FA
add r0, r4, #0
mov r1, #0
bl MOD85_021DAEF4
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #3
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D86FA:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D86B4
thumb_func_start MOD85_021D8700
MOD85_021D8700: ; 0x021D8700
push {r4, lr}
add r4, r0, #0
bl MOD85_021DB754
add r0, r4, #0
bl MOD85_021DA96C
add r0, r4, #0
bl MOD85_021DAA2C
add r0, r4, #0
mov r1, #0xb
bl MOD85_021DAEF4
mov r0, #0
str r0, [r4, #0x6c]
mov r1, #0x11
str r1, [r4]
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8700
thumb_func_start MOD85_021D8728
MOD85_021D8728: ; 0x021D8728
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r2, [r4, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
lsl r1, r1, #3
str r2, [r4, #0x6c]
cmp r2, r1
blt _021D874E
mov r1, #3
bl MOD85_021DAEF4
add r0, r4, #0
mov r1, #1
bl MOD85_021D7FF4
mov r0, #0x12
str r0, [r4]
_021D874E:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8728
thumb_func_start MOD85_021D8754
MOD85_021D8754: ; 0x021D8754
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAF08
cmp r0, #1
bne _021D8768
mov r0, #0x17
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8768:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D8754
thumb_func_start MOD85_021D876C
MOD85_021D876C: ; 0x021D876C
push {r4, lr}
add r4, r0, #0
bl MOD85_021DC0D8
str r0, [r4, #0x64]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x14
str r0, [r4]
add r0, r4, #0
bl MOD85_021DAD54
add r0, r4, #0
bl MOD85_021DA96C
add r0, r4, #0
bl MOD85_021DAA2C
add r0, r4, #0
mov r1, #0xb
bl MOD85_021DAEF4
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D876C
thumb_func_start MOD85_021D879C
MOD85_021D879C: ; 0x021D879C
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r2, [r4, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
mov r1, #0x1e
lsl r1, r1, #0xc
str r2, [r4, #0x6c]
cmp r2, r1
bne _021D87C2
mov r1, #1
bl MOD85_021D7FF4
add r0, r4, #0
mov r1, #3
bl MOD85_021DAEF4
b _021D87E2
_021D87C2:
blt _021D87E2
bl MOD85_021DAD68
cmp r0, #1
bne _021D87E2
add r0, r4, #0
bl MOD85_021DAF08
cmp r0, #1
bne _021D87E2
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x17
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D87E2:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D879C
thumb_func_start MOD85_021D87E8
MOD85_021D87E8: ; 0x021D87E8
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x6c]
mov r1, #0x16
str r1, [r4]
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xb
bl MOD85_021DAEF4
add r0, r4, #0
bl MOD85_021DA96C
add r0, r4, #0
bl MOD85_021DAA2C
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D87E8
thumb_func_start MOD85_021D8810
MOD85_021D8810: ; 0x021D8810
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r2, [r4, #0x6c]
lsl r1, r1, #0xc
add r3, r2, r1
lsl r2, r1, #3
str r3, [r4, #0x6c]
cmp r3, r2
bne _021D8834
mov r1, #3
bl MOD85_021DAEF4
add r0, r4, #0
mov r1, #1
bl MOD85_021D7FF4
b _021D8858
_021D8834:
lsl r1, r1, #3
cmp r3, r1
blt _021D8858
bl MOD85_021DAD68
cmp r0, #1
bne _021D8858
add r0, r4, #0
bl MOD85_021DAF08
cmp r0, #1
bne _021D8858
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x18
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8858:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D8810
thumb_func_start MOD85_021D885C
MOD85_021D885C: ; 0x021D885C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x50]
cmp r0, #6
blt _021D886A
bl GF_AssertFail
_021D886A:
mov r0, #0x19
str r0, [r4]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D885C
thumb_func_start MOD85_021D8874
MOD85_021D8874: ; 0x021D8874
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x50]
cmp r0, #6
blt _021D8882
bl GF_AssertFail
_021D8882:
mov r0, #0x1c
str r0, [r4]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8874
thumb_func_start MOD85_021D888C
MOD85_021D888C: ; 0x021D888C
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x64]
str r1, [r4, #0x68]
mov r2, #0x1a
str r2, [r4]
str r1, [r4, #0x74]
bl MOD85_021DC094
add r0, r4, #0
mov r1, #1
bl MOD85_021DC094
add r0, r4, #0
mov r1, #2
bl MOD85_021DC094
add r0, r4, #0
bl MOD85_021DB754
add r0, r4, #0
bl MOD85_021DB95C
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
ldr r1, [r4, #0x60]
cmp r1, #0
bne _021D88D4
mov r0, #0x3c
str r0, [r4]
mov r0, #0x3f
str r0, [r4, #4]
b _021D88F0
_021D88D4:
cmp r1, #3
bge _021D88E2
mov r0, #0x3b
str r0, [r4]
mov r0, #0x3f
str r0, [r4, #4]
b _021D88F0
_021D88E2:
ldr r0, _021D88F4 ; =0x0000C350
cmp r1, r0
blt _021D88F0
mov r0, #0x3d
str r0, [r4]
mov r0, #0x1a
str r0, [r4, #4]
_021D88F0:
mov r0, #1
pop {r4, pc}
.align 2, 0
_021D88F4: .word 0x0000C350
thumb_func_end MOD85_021D888C
thumb_func_start MOD85_021D88F8
MOD85_021D88F8: ; 0x021D88F8
push {r4, lr}
add r4, r0, #0
mov r0, #8
bl MOD85_021DBD54
cmp r0, #0
beq _021D8914
mov r0, #0x3f
str r0, [r4]
add r0, r4, #0
bl MOD85_021DB9A0
mov r0, #0
pop {r4, pc}
_021D8914:
mov r0, #1
lsl r0, r0, #0xa
bl MOD85_021DBD54
cmp r0, #0
beq _021D8948
ldr r0, [r4, #0x60]
sub r0, r0, #3
str r0, [r4, #0x60]
ldr r0, _021D894C ; =0x0000045C
ldr r1, [r4, r0]
add r1, r1, #3
str r1, [r4, r0]
mov r0, #0x1b
str r0, [r4]
ldr r0, _021D8950 ; =0x000005ED
bl PlaySE
add r0, r4, #0
bl MOD85_021DB9A0
add r0, r4, #0
bl MOD85_021DB76C
mov r0, #0
pop {r4, pc}
_021D8948:
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D894C: .word 0x0000045C
_021D8950: .word 0x000005ED
thumb_func_end MOD85_021D88F8
thumb_func_start MOD85_021D8954
MOD85_021D8954: ; 0x021D8954
push {r4, lr}
add r4, r0, #0
mov r0, #8
bl MOD85_021DBD54
cmp r0, #0
beq _021D8970
ldr r0, [r4, #0x60]
add r0, r0, #3
str r0, [r4, #0x60]
mov r0, #0x3f
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D8970:
mov r0, #0x12
lsl r0, r0, #6
bl MOD85_021DBD54
cmp r0, #0
beq _021D8984
mov r0, #0x1c
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8984:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D8954
thumb_func_start MOD85_021D8988
MOD85_021D8988: ; 0x021D8988
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAAF0
mov r1, #0x46
lsl r1, r1, #4
ldr r0, [r4, r1]
add r0, r0, #1
str r0, [r4, r1]
add r0, r1, #0
add r0, #8
ldr r0, [r4, r0]
add r1, #8
add r0, r0, #1
str r0, [r4, r1]
mov r0, #0
str r0, [r4, #0x70]
ldr r1, [r4, #0x74]
mov r0, #0x33
tst r0, r1
beq _021D89B6
mov r0, #1
str r0, [r4, #0x70]
_021D89B6:
mov r0, #0
str r0, [r4, #0x30]
ldr r0, [r4, #0x74]
cmp r0, #0
beq _021D89C4
mov r0, #1
str r0, [r4, #0x30]
_021D89C4:
add r0, r4, #0
mov r1, #0
bl MOD85_021DC094
add r0, r4, #0
mov r1, #1
bl MOD85_021DC094
add r0, r4, #0
mov r1, #2
bl MOD85_021DC094
add r0, r4, #0
bl MOD85_021DB76C
add r0, r4, #0
mov r1, #0
bl MOD85_021D9338
add r0, r4, #0
mov r1, #1
bl MOD85_021D9338
add r0, r4, #0
mov r1, #2
bl MOD85_021D9338
add r0, r4, #0
bl MOD85_021DBFA4
add r0, r4, #0
mov r1, #9
bl MOD85_021DAEF4
mov r1, #1
add r0, r4, #0
str r1, [r4, #0x7c]
add r0, #0x80
str r1, [r0]
add r0, r4, #0
add r0, #0x84
str r1, [r0]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x1d
str r0, [r4]
ldr r0, _021D8A2C ; =0x000005EE
bl PlaySE
mov r0, #1
pop {r4, pc}
nop
_021D8A2C: .word 0x000005EE
thumb_func_end MOD85_021D8988
thumb_func_start MOD85_021D8A30
MOD85_021D8A30: ; 0x021D8A30
mov r1, #1
ldr r2, [r0, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
lsl r1, r1, #3
str r2, [r0, #0x6c]
cmp r2, r1
blt _021D8A4C
mov r1, #0
str r1, [r0, #0x6c]
mov r1, #0x1e
str r1, [r0]
mov r0, #1
bx lr
_021D8A4C:
mov r0, #0
bx lr
thumb_func_end MOD85_021D8A30
thumb_func_start MOD85_021D8A50
MOD85_021D8A50: ; 0x021D8A50
push {r4, lr}
ldr r1, _021D8B40 ; =gMain
add r4, r0, #0
ldr r2, [r1, #0x48]
ldr r1, [r4, #0x7c]
cmp r1, #1
bne _021D8A96
mov r1, #2
lsl r1, r1, #0xa
add r3, r2, #0
tst r3, r1
beq _021D8A96
mov r2, #2
str r2, [r4, #0x7c]
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DBFDC
cmp r0, #0
bne _021D8A7E
mov r0, #0
str r0, [r4, #0x70]
_021D8A7E:
add r0, r4, #0
mov r1, #0
bl MOD85_021DC050
add r0, r4, #0
mov r1, #0
bl MOD85_021D9350
ldr r0, _021D8B44 ; =0x00000626
bl PlaySE
b _021D8B1E
_021D8A96:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _021D8ADA
mov r1, #2
add r0, r2, #0
tst r0, r1
beq _021D8ADA
add r0, r4, #0
add r0, #0x80
str r1, [r0]
add r0, r4, #0
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DBFDC
cmp r0, #0
bne _021D8AC2
mov r0, #0
str r0, [r4, #0x70]
_021D8AC2:
add r0, r4, #0
mov r1, #1
bl MOD85_021DC050
add r0, r4, #0
mov r1, #1
bl MOD85_021D9350
ldr r0, _021D8B44 ; =0x00000626
bl PlaySE
b _021D8B1E
_021D8ADA:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #1
bne _021D8B1E
mov r1, #1
add r0, r2, #0
tst r0, r1
beq _021D8B1E
add r0, r4, #0
mov r2, #2
add r0, #0x84
str r2, [r0]
add r0, r4, #0
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DBFDC
cmp r0, #0
bne _021D8B08
mov r0, #0
str r0, [r4, #0x70]
_021D8B08:
add r0, r4, #0
mov r1, #2
bl MOD85_021DC050
add r0, r4, #0
mov r1, #2
bl MOD85_021D9350
ldr r0, _021D8B44 ; =0x00000626
bl PlaySE
_021D8B1E:
ldr r0, [r4, #0x7c]
cmp r0, #2
bne _021D8B3C
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #2
bne _021D8B3C
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #2
bne _021D8B3C
mov r0, #0x1f
str r0, [r4]
_021D8B3C:
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D8B40: .word gMain
_021D8B44: .word 0x00000626
thumb_func_end MOD85_021D8A50
thumb_func_start MOD85_021D8B48
MOD85_021D8B48: ; 0x021D8B48
push {r4, lr}
mov r1, #0
add r4, r0, #0
bl MOD85_021D9360
cmp r0, #1
beq _021D8B6E
add r0, r4, #0
mov r1, #1
bl MOD85_021D9360
cmp r0, #1
beq _021D8B6E
add r0, r4, #0
mov r1, #2
bl MOD85_021D9360
cmp r0, #1
bne _021D8B72
_021D8B6E:
mov r0, #0
pop {r4, pc}
_021D8B72:
add r0, r4, #0
bl MOD85_021DB754
mov r0, #0x20
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D8B48
thumb_func_start MOD85_021D8B80
MOD85_021D8B80: ; 0x021D8B80
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
ldr r1, [r4, #0x74]
add r2, #0x48
bl MOD85_021DBED4
str r0, [r4, #0x44]
cmp r0, #6
bne _021D8B9C
mov r0, #0x21
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8B9C:
mov r1, #3
ldr r2, [r4, #0x74]
lsl r1, r1, #8
tst r1, r2
beq _021D8BAE
mov r0, #0x27
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8BAE:
cmp r0, #2
bne _021D8BBA
mov r0, #0x25
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8BBA:
mov r0, #0x23
str r0, [r4]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8B80
thumb_func_start MOD85_021D8BC4
MOD85_021D8BC4: ; 0x021D8BC4
push {r4, lr}
add r4, r0, #0
bl MOD85_021DB754
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x22
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D8BC4
thumb_func_start MOD85_021D8BE0
MOD85_021D8BE0: ; 0x021D8BE0
mov r1, #1
ldr r2, [r0, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
lsl r1, r1, #3
str r2, [r0, #0x6c]
cmp r2, r1
blt _021D8BFC
mov r1, #0
str r1, [r0, #0x6c]
mov r1, #0x19
str r1, [r0]
mov r0, #1
bx lr
_021D8BFC:
mov r0, #0
bx lr
thumb_func_end MOD85_021D8BE0
thumb_func_start MOD85_021D8C00
MOD85_021D8C00: ; 0x021D8C00
push {r4, lr}
add r4, r0, #0
bl MOD85_021DC0D8
ldr r1, _021D8C2C ; =0x00000458
str r0, [r4, #0x64]
ldr r2, [r4, r1]
add r0, r2, r0
str r0, [r4, r1]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x24
str r0, [r4]
add r0, r4, #0
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xa
bl MOD85_021DAEF4
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D8C2C: .word 0x00000458
thumb_func_end MOD85_021D8C00
thumb_func_start MOD85_021D8C30
MOD85_021D8C30: ; 0x021D8C30
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAD68
cmp r0, #1
bne _021D8C4C
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
mov r0, #0x19
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8C4C:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D8C30
thumb_func_start MOD85_021D8C50
MOD85_021D8C50: ; 0x021D8C50
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x64]
str r1, [r4, #0x6c]
mov r1, #0x26
str r1, [r4]
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xa
bl MOD85_021DAEF4
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D8C50
thumb_func_start MOD85_021D8C70
MOD85_021D8C70: ; 0x021D8C70
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r2, [r4, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
mov r1, #0xf
lsl r1, r1, #0xc
str r2, [r4, #0x6c]
cmp r2, r1
ble _021D8CA8
bl MOD85_021DAD68
cmp r0, #1
bne _021D8CA8
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
add r0, r4, #0
bl MOD85_021DB754
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x1c
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8CA8:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D8C70
thumb_func_start MOD85_021D8CAC
MOD85_021D8CAC: ; 0x021D8CAC
push {r4, lr}
add r4, r0, #0
bl MOD85_021DC0D8
ldr r1, _021D8CF0 ; =0x00000458
str r0, [r4, #0x64]
ldr r2, [r4, r1]
add r0, r2, r0
str r0, [r4, r1]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x28
str r0, [r4]
add r0, r4, #0
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xa
bl MOD85_021DAEF4
add r0, r4, #0
bl MOD85_021DBB0C
add r0, r4, #0
mov r1, #2
bl MOD85_021D7FF4
add r0, r4, #0
bl MOD85_021DE264
ldr r1, _021D8CF4 ; =0x00000454
str r0, [r4, r1]
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D8CF0: .word 0x00000458
_021D8CF4: .word 0x00000454
thumb_func_end MOD85_021D8CAC
thumb_func_start MOD85_021D8CF8
MOD85_021D8CF8: ; 0x021D8CF8
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAD68
cmp r0, #1
bne _021D8D1C
ldr r0, _021D8D20 ; =0x00000454
ldr r0, [r4, r0]
bl FUN_02064520
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
mov r0, #0x29
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8D1C:
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D8D20: .word 0x00000454
thumb_func_end MOD85_021D8CF8
thumb_func_start MOD85_021D8D24
MOD85_021D8D24: ; 0x021D8D24
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAF10
mov r0, #0
str r0, [r4, #0x1c]
str r0, [r4, #0x14]
mov r0, #1
str r0, [r4, #8]
mov r1, #0x2a
str r1, [r4]
pop {r4, pc}
thumb_func_end MOD85_021D8D24
thumb_func_start MOD85_021D8D3C
MOD85_021D8D3C: ; 0x021D8D3C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #0x1c]
add r1, r0, #1
ldr r0, _021D8D84 ; =0x000003E7
str r1, [r4, #0x1c]
cmp r1, r0
bls _021D8D54
str r0, [r4, #0x1c]
_021D8D54:
ldr r1, [r4, #0x1c]
add r0, r4, #0
bl MOD85_021DE118
mov r0, #0x10
str r0, [r4, #0x10]
mov r0, #1
str r0, [r4, #8]
mov r0, #0
str r0, [r4, #0x24]
str r0, [r4, #0x28]
str r0, [r4, #0x2c]
add r0, r4, #0
bl MOD85_021DAC44
cmp r0, #0
bne _021D8D7A
mov r0, #1
str r0, [r4, #0x2c]
_021D8D7A:
mov r0, #0x2b
str r0, [r4]
mov r0, #1
pop {r4, pc}
nop
_021D8D84: .word 0x000003E7
thumb_func_end MOD85_021D8D3C
thumb_func_start MOD85_021D8D88
MOD85_021D8D88: ; 0x021D8D88
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
sub r0, r0, #1
str r0, [r4, #0x10]
cmp r0, #1
bge _021D8D9A
bl GF_AssertFail
_021D8D9A:
add r0, r4, #0
mov r1, #0
bl MOD85_021DC094
add r0, r4, #0
mov r1, #1
bl MOD85_021DC094
add r0, r4, #0
mov r1, #2
bl MOD85_021DC094
add r0, r4, #0
bl MOD85_021DB754
add r0, r4, #0
bl MOD85_021DB95C
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
mov r2, #0x2c
str r2, [r4]
ldr r1, [r4, #0x60]
cmp r1, #0
bne _021D8DDA
mov r0, #0x3c
str r0, [r4]
mov r0, #0x3f
str r0, [r4, #4]
b _021D8DF4
_021D8DDA:
cmp r1, #1
bge _021D8DE8
mov r0, #0x3c
str r0, [r4]
mov r0, #0x3f
str r0, [r4, #4]
b _021D8DF4
_021D8DE8:
ldr r0, _021D8DF8 ; =0x0000C350
cmp r1, r0
blt _021D8DF4
mov r0, #0x3d
str r0, [r4]
str r2, [r4, #4]
_021D8DF4:
mov r0, #1
pop {r4, pc}
.align 2, 0
_021D8DF8: .word 0x0000C350
thumb_func_end MOD85_021D8D88
thumb_func_start MOD85_021D8DFC
MOD85_021D8DFC: ; 0x021D8DFC
push {r4, lr}
add r4, r0, #0
mov r0, #8
bl MOD85_021DBD54
cmp r0, #0
beq _021D8E12
mov r0, #0x3f
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D8E12:
mov r0, #1
lsl r0, r0, #0xa
bl MOD85_021DBD54
cmp r0, #0
beq _021D8E58
ldr r0, [r4, #0x60]
sub r0, r0, #1
str r0, [r4, #0x60]
ldr r0, [r4, #0x14]
sub r0, r0, #1
str r0, [r4, #0x14]
ldr r0, _021D8E5C ; =0x0000045C
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, #0x14]
cmp r0, #0
bge _021D8E3C
mov r0, #0
str r0, [r4, #0x14]
_021D8E3C:
mov r0, #0x2d
str r0, [r4]
ldr r0, _021D8E60 ; =0x000005ED
bl PlaySE
add r0, r4, #0
bl MOD85_021DB9A0
add r0, r4, #0
mov r1, #0
bl MOD85_021DB714
mov r0, #0
pop {r4, pc}
_021D8E58:
mov r0, #0
pop {r4, pc}
.align 2, 0
_021D8E5C: .word 0x0000045C
_021D8E60: .word 0x000005ED
thumb_func_end MOD85_021D8DFC
thumb_func_start MOD85_021D8E64
MOD85_021D8E64: ; 0x021D8E64
push {r4, lr}
add r4, r0, #0
mov r0, #8
bl MOD85_021DBD54
cmp r0, #0
beq _021D8E80
ldr r0, [r4, #0x60]
add r0, r0, #1
str r0, [r4, #0x60]
mov r0, #0x3f
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D8E80:
mov r0, #0x12
lsl r0, r0, #6
bl MOD85_021DBD54
cmp r0, #0
beq _021D8E94
mov r0, #0x2e
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D8E94:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D8E64
thumb_func_start MOD85_021D8E98
MOD85_021D8E98: ; 0x021D8E98
push {r4, lr}
mov r2, #0x46
add r4, r0, #0
lsl r2, r2, #4
ldr r1, [r4, r2]
add r1, r1, #1
str r1, [r4, r2]
add r1, r2, #0
add r1, #0xc
ldr r1, [r4, r1]
add r2, #0xc
add r1, r1, #1
str r1, [r4, r2]
mov r1, #1
str r1, [r4, #0x74]
str r1, [r4, #0x30]
str r1, [r4, #0x70]
mov r1, #0
bl MOD85_021DC094
add r0, r4, #0
mov r1, #1
bl MOD85_021DC094
add r0, r4, #0
mov r1, #2
bl MOD85_021DC094
add r0, r4, #0
mov r1, #0
bl MOD85_021DB714
add r0, r4, #0
mov r1, #0
bl MOD85_021D9338
add r0, r4, #0
mov r1, #1
bl MOD85_021D9338
add r0, r4, #0
mov r1, #2
bl MOD85_021D9338
add r0, r4, #0
bl MOD85_021DBFA4
add r0, r4, #0
bl MOD85_021DAD0C
mov r1, #1
add r0, r4, #0
str r1, [r4, #0x7c]
add r0, #0x80
str r1, [r0]
add r0, r4, #0
add r0, #0x84
str r1, [r0]
mov r0, #0
str r0, [r4, #0x6c]
mov r0, #0x2f
str r0, [r4]
ldr r0, _021D8F80 ; =0x000005EE
bl PlaySE
ldr r0, [r4, #0x24]
cmp r0, #0
bne _021D8F4C
ldr r0, [r4, #0x28]
cmp r0, #0
bne _021D8F4C
add r0, r4, #0
bl MOD85_021DAC20
cmp r0, #1
bne _021D8F3E
mov r0, #1
str r0, [r4, #0x28]
mov r0, #0x13
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_021D8F3E:
ldr r0, [r4, #0x28]
cmp r0, #1
bne _021D8F4C
add r0, r4, #0
mov r1, #1
bl MOD85_021DBB54
_021D8F4C:
ldr r0, [r4, #0x24]
cmp r0, #0
bne _021D8F7C
ldr r0, [r4, #0x28]
cmp r0, #0
bne _021D8F7C
add r0, r4, #0
bl MOD85_021DABFC
cmp r0, #1
bne _021D8F6E
mov r0, #1
str r0, [r4, #0x24]
ldr r0, _021D8F84 ; =0x000004BC
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_021D8F6E:
ldr r0, [r4, #0x24]
cmp r0, #1
bne _021D8F7C
add r0, r4, #0
mov r1, #0
bl MOD85_021DBB54
_021D8F7C:
mov r0, #1
pop {r4, pc}
.align 2, 0
_021D8F80: .word 0x000005EE
_021D8F84: .word 0x000004BC
thumb_func_end MOD85_021D8E98
thumb_func_start MOD85_021D8F88
MOD85_021D8F88: ; 0x021D8F88
push {r3, lr}
mov r1, #1
ldr r2, [r0, #0x6c]
lsl r1, r1, #0xc
add r2, r2, r1
lsl r1, r1, #3
str r2, [r0, #0x6c]
cmp r2, r1
blt _021D8FAC
mov r1, #0
str r1, [r0, #0x6c]
mov r1, #0x30
str r1, [r0]
mov r1, #6
bl MOD85_021DAEF4
mov r0, #1
pop {r3, pc}
_021D8FAC:
mov r0, #0
pop {r3, pc}
thumb_func_end MOD85_021D8F88
thumb_func_start MOD85_021D8FB0
MOD85_021D8FB0: ; 0x021D8FB0
push {r4, lr}
ldr r1, _021D90A8 ; =gMain
add r4, r0, #0
ldr r2, [r1, #0x48]
ldr r1, [r4, #0x7c]
cmp r1, #1
bne _021D8FF8
mov r1, #2
lsl r1, r1, #0xa
add r3, r2, #0
tst r3, r1
beq _021D8FF8
mov r2, #2
str r2, [r4, #0x7c]
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DC01C
cmp r0, #0
bne _021D8FE0
mov r0, #0
str r0, [r4, #0x70]
str r0, [r4, #0x30]
_021D8FE0:
add r0, r4, #0
mov r1, #0
bl MOD85_021DC050
add r0, r4, #0
mov r1, #0
bl MOD85_021D9350
ldr r0, _021D90AC ; =0x000005F5
bl PlaySE
b _021D9084
_021D8FF8:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _021D903E
mov r1, #2
add r0, r2, #0
tst r0, r1
beq _021D903E
add r0, r4, #0
add r0, #0x80
str r1, [r0]
add r0, r4, #0
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DC01C
cmp r0, #0
bne _021D9026
mov r0, #0
str r0, [r4, #0x70]
str r0, [r4, #0x30]
_021D9026:
add r0, r4, #0
mov r1, #1
bl MOD85_021DC050
add r0, r4, #0
mov r1, #1
bl MOD85_021D9350
ldr r0, _021D90AC ; =0x000005F5
bl PlaySE
b _021D9084
_021D903E:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #1
bne _021D9084
mov r1, #1
add r0, r2, #0
tst r0, r1
beq _021D9084
add r0, r4, #0
mov r2, #2
add r0, #0x84
str r2, [r0]
add r0, r4, #0
bl MOD85_021DBFB4
add r0, r4, #0
bl MOD85_021DC01C
cmp r0, #0
bne _021D906E
mov r0, #0
str r0, [r4, #0x70]
str r0, [r4, #0x30]
_021D906E:
add r0, r4, #0
mov r1, #2
bl MOD85_021DC050
add r0, r4, #0
mov r1, #2
bl MOD85_021D9350
ldr r0, _021D90AC ; =0x000005F5
bl PlaySE
_021D9084:
ldr r0, [r4, #0x7c]
cmp r0, #2
bne _021D90A2
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #2
bne _021D90A2
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #2
bne _021D90A2
mov r0, #0x31
str r0, [r4]
_021D90A2:
mov r0, #0
pop {r4, pc}
nop
_021D90A8: .word gMain
_021D90AC: .word 0x000005F5
thumb_func_end MOD85_021D8FB0
thumb_func_start MOD85_021D90B0
MOD85_021D90B0: ; 0x021D90B0
push {r4, lr}
mov r1, #0
add r4, r0, #0
bl MOD85_021D9360
cmp r0, #1
beq _021D90D6
add r0, r4, #0
mov r1, #1
bl MOD85_021D9360
cmp r0, #1
beq _021D90D6
add r0, r4, #0
mov r1, #2
bl MOD85_021D9360
cmp r0, #1
bne _021D90DA
_021D90D6:
mov r0, #0
pop {r4, pc}
_021D90DA:
add r0, r4, #0
bl MOD85_021DB754
mov r0, #0x32
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D90B0
thumb_func_start MOD85_021D90E8
MOD85_021D90E8: ; 0x021D90E8
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
ldr r1, [r4, #0x74]
add r2, #0x48
bl MOD85_021DBF48
str r0, [r4, #0x44]
cmp r0, #6
ldr r0, [r4, #0x28]
bne _021D910E
cmp r0, #1
bne _021D9106
mov r0, #3
str r0, [r4, #0x28]
_021D9106:
mov r0, #0x33
str r0, [r4]
mov r0, #1
pop {r4, pc}
_021D910E:
cmp r0, #1
bne _021D9116
mov r0, #2
str r0, [r4, #0x28]
_021D9116:
mov r0, #0x34
str r0, [r4]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D90E8
thumb_func_start MOD85_021D9120
MOD85_021D9120: ; 0x021D9120
push {r4, lr}
add r4, r0, #0
bl MOD85_021DB754
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
ldr r0, [r4, #0x10]
cmp r0, #1
bgt _021D913A
mov r0, #0x36
b _021D913C
_021D913A:
mov r0, #0x2b
_021D913C:
str r0, [r4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D9120
thumb_func_start MOD85_021D9144
MOD85_021D9144: ; 0x021D9144
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x44]
lsl r2, r1, #2
ldr r1, _021D9170 ; =0x021DFC4C
ldr r3, [r1, r2]
ldr r1, _021D9174 ; =0x00000458
str r3, [r4, #0x64]
ldr r2, [r4, r1]
add r2, r2, r3
str r2, [r4, r1]
bl MOD85_021DAD54
add r0, r4, #0
mov r1, #0xa
bl MOD85_021DAEF4
mov r0, #0
str r0, [r4, #0x6c]
mov r1, #0x35
str r1, [r4]
pop {r4, pc}
.align 2, 0
_021D9170: .word MOD85_021DFC4C
_021D9174: .word 0x00000458
thumb_func_end MOD85_021D9144
thumb_func_start MOD85_021D9178
MOD85_021D9178: ; 0x021D9178
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAD68
cmp r0, #0
bne _021D9188
mov r0, #0
pop {r4, pc}
_021D9188:
add r0, r4, #0
mov r1, #7
bl MOD85_021DAEF4
ldr r0, [r4, #0x10]
cmp r0, #1
bgt _021D919A
mov r0, #0x36
b _021D919C
_021D919A:
mov r0, #0x2b
_021D919C:
str r0, [r4]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D9178
thumb_func_start MOD85_021D91A4
MOD85_021D91A4: ; 0x021D91A4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
sub r0, r0, #1
str r0, [r4, #0x10]
beq _021D91B4
bl GF_AssertFail
_021D91B4:
ldr r0, [r4, #0x2c]
cmp r0, #1
bne _021D91D0
ldr r0, [r4, #0x24]
cmp r0, #0
bne _021D91D0
add r0, r4, #0
mov r1, #8
bl MOD85_021DAEF4
mov r0, #0x3a
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D91D0:
mov r0, #0x37
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D91A4
thumb_func_start MOD85_021D91D8
MOD85_021D91D8: ; 0x021D91D8
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAC58
add r0, r4, #0
bl MOD85_021DACAC
ldr r1, [r4, #0x24]
cmp r1, #1
bne _021D91EE
mov r0, #2
_021D91EE:
cmp r0, #2
bne _021D9202
add r0, r4, #0
mov r1, #5
bl MOD85_021DAEF4
mov r0, #0x38
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D9202:
cmp r0, #1
bne _021D9216
add r0, r4, #0
mov r1, #0xc
bl MOD85_021DAEF4
mov r0, #0x39
str r0, [r4]
mov r0, #0
pop {r4, pc}
_021D9216:
mov r0, #0x23
bl FUN_02005578
mov r0, #0x2a
str r0, [r4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D91D8
thumb_func_start MOD85_021D9224
MOD85_021D9224: ; 0x021D9224
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAF08
cmp r0, #0
bne _021D9234
mov r0, #0
pop {r4, pc}
_021D9234:
mov r0, #0x2a
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D9224
thumb_func_start MOD85_021D923C
MOD85_021D923C: ; 0x021D923C
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAF08
cmp r0, #0
bne _021D924C
mov r0, #0
pop {r4, pc}
_021D924C:
mov r0, #0x2a
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D923C
thumb_func_start MOD85_021D9254
MOD85_021D9254: ; 0x021D9254
push {r4, lr}
add r4, r0, #0
bl MOD85_021DAF08
cmp r0, #0
bne _021D9264
mov r0, #0
pop {r4, pc}
_021D9264:
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x20]
cmp r1, r0
bls _021D926E
str r1, [r4, #0x20]
_021D926E:
add r0, r4, #0
mov r1, #0
bl MOD85_021D7FF4
add r0, r4, #0
bl MOD85_021DBB30
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021D9254
thumb_func_start MOD85_021D9284
MOD85_021D9284: ; 0x021D9284
push {r4, lr}
mov r1, #0
add r4, r0, #0
bl MOD85_021D7BEC
mov r0, #0x3e
str r0, [r4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D9284
thumb_func_start MOD85_021D9298
MOD85_021D9298: ; 0x021D9298
push {r4, lr}
mov r1, #2
add r4, r0, #0
bl MOD85_021D7BEC
mov r0, #0x3e
str r0, [r4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D9298
thumb_func_start MOD85_021D92AC
MOD85_021D92AC: ; 0x021D92AC
push {r4, lr}
mov r1, #1
add r4, r0, #0
bl MOD85_021D7BEC
mov r0, #0x3e
str r0, [r4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021D92AC
thumb_func_start MOD85_021D92C0
MOD85_021D92C0: ; 0x021D92C0
push {r4, lr}
add r4, r0, #0
mov r0, #3
bl MOD85_021DBD54
cmp r0, #0
beq _021D92D8
add r0, r4, #0
bl MOD85_021D7C44
ldr r0, [r4, #4]
str r0, [r4]
_021D92D8:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021D92C0
thumb_func_start MOD85_021D92DC
MOD85_021D92DC: ; 0x021D92DC
push {r3, lr}
bl MOD85_021DB9A0
mov r0, #2
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021D92DC
thumb_func_start MOD85_021D92E8
MOD85_021D92E8: ; 0x021D92E8
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r7, #0
add r5, #0xb4
mov r4, #0
add r6, r5, #0
_021D92F4:
mov r0, #0
str r0, [r5]
add r2, r4, #0
str r4, [r5, #0x10]
ldr r0, _021D9318 ; =MOD85_021D936C
add r1, r6, #0
add r2, #0x81
str r7, [r5, #0x20]
bl FUN_0200CA44
str r0, [r5, #0x1c]
add r4, r4, #1
add r5, #0x24
add r6, #0x24
cmp r4, #3
blo _021D92F4
pop {r3, r4, r5, r6, r7, pc}
nop
_021D9318: .word MOD85_021D936C
thumb_func_end MOD85_021D92E8
thumb_func_start MOD85_021D931C
MOD85_021D931C: ; 0x021D931C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021D9322:
add r0, r5, #0
add r0, #0xd0
ldr r0, [r0]
bl FUN_0200CAB4
add r4, r4, #1
add r5, #0x24
cmp r4, #3
blo _021D9322
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021D931C
thumb_func_start MOD85_021D9338
MOD85_021D9338: ; 0x021D9338
mov r2, #0x24
add r3, r1, #0
mul r3, r2
add r1, r0, r3
add r0, r0, r3
mov r2, #1
add r1, #0xb4
str r2, [r1]
add r0, #0xb8
str r2, [r0]
bx lr
.align 2, 0
thumb_func_end MOD85_021D9338
thumb_func_start MOD85_021D9350
MOD85_021D9350: ; 0x021D9350
mov r2, #0x24
mul r2, r1
add r0, r0, r2
mov r3, #2
add r0, #0xb4
str r3, [r0]
bx lr
.align 2, 0
thumb_func_end MOD85_021D9350
thumb_func_start MOD85_021D9360
MOD85_021D9360: ; 0x021D9360
mov r2, #0x24
mul r2, r1
add r0, r0, r2
add r0, #0xb8
ldr r0, [r0]
bx lr
thumb_func_end MOD85_021D9360
thumb_func_start MOD85_021D936C
MOD85_021D936C: ; 0x021D936C
push {r4, r5, r6, lr}
add r5, r1, #0
ldr r4, [r5, #0x20]
ldr r6, _021D9388 ; =0x021DEE20
_021D9374:
ldr r2, [r5]
add r0, r5, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
add r1, r4, #0
blx r2
cmp r0, #1
beq _021D9374
pop {r4, r5, r6, pc}
nop
_021D9388: .word MOD85_021DEE20
thumb_func_end MOD85_021D936C
thumb_func_start MOD85_021D938C
MOD85_021D938C: ; 0x021D938C
mov r0, #0
bx lr
thumb_func_end MOD85_021D938C
thumb_func_start MOD85_021D9390
MOD85_021D9390: ; 0x021D9390
push {r3, lr}
add r2, r0, #0
add r0, r1, #0
ldr r1, [r2, #0x10]
add r2, r0, #0
add r2, #0x8c
ldr r2, [r2]
bl MOD85_021DA744
mov r0, #0
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021D9390
thumb_func_start MOD85_021D93A8
MOD85_021D93A8: ; 0x021D93A8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5]
add r4, r1, #0
add r2, r2, #1
str r2, [r5]
mov r2, #0
str r2, [r5, #0x14]
str r2, [r5, #0x18]
ldr r2, [r4, #0x30]
cmp r2, #1
ldr r2, [r4, #8]
bne _021D93F2
cmp r2, #0
bne _021D93DC
bl MOD85_021D94E4
cmp r0, #0
bne _021D9400
add r0, r5, #0
add r1, r4, #0
bl MOD85_021D9EDC
mov r0, #0
str r0, [r4, #0x30]
b _021D9400
_021D93DC:
bl MOD85_021D951C
cmp r0, #0
bne _021D9400
add r0, r5, #0
add r1, r4, #0
bl MOD85_021D9F8C
mov r0, #0
str r0, [r4, #0x30]
b _021D9400
_021D93F2:
cmp r2, #0
bne _021D93FC
bl MOD85_021D9EDC
b _021D9400
_021D93FC:
bl MOD85_021D9F8C
_021D9400:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end MOD85_021D93A8
thumb_func_start MOD85_021D9404
MOD85_021D9404: ; 0x021D9404
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r3, r1, #0
ldr r1, [r5, #0x10]
add r7, r3, #0
lsl r0, r1, #2
add r7, #0x90
str r0, [sp]
ldr r0, [r7, r0]
mov r4, #0
lsr r6, r0, #0x1f
lsl r2, r0, #0xf
sub r2, r2, r6
mov r0, #0xf
ror r2, r0
add r0, r6, r2
beq _021D943E
add r2, r3, #0
add r2, #0x8c
ldr r2, [r2]
mov r4, #1
cmp r0, r2
bge _021D9436
add r2, r0, #0
_021D9436:
add r0, r3, #0
bl MOD85_021DA780
b _021D9464
_021D943E:
ldr r2, [r5, #0x18]
cmp r2, #0
beq _021D9464
sub r0, r2, #1
str r0, [r5, #0x18]
add r0, r3, #0
add r3, #0x8c
ldr r2, [r3]
mov r4, #1
bl MOD85_021DA744
ldr r0, [sp]
ldr r0, [r7, r0]
lsr r2, r0, #0x1f
lsl r1, r0, #0xf
sub r1, r1, r2
mov r0, #0xf
ror r1, r0
add r0, r2, r1
_021D9464:
cmp r0, #0
bne _021D94A0
ldr r6, [r5, #0x18]
cmp r6, #0
bne _021D94A0
ldr r3, _021D94A8 ; =0x021DEE34
add r2, sp, #4
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
cmp r6, #4
str r0, [r2]
ble _021D9484
mov r6, #4
_021D9484:
lsl r1, r6, #2
add r0, sp, #4
ldr r0, [r0, r1]
str r0, [r5, #8]
mov r0, #0
str r0, [r5, #0xc]
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
cmp r4, #0
bne _021D94A0
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D94A0:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021D94A8: .word MOD85_021DEE34
thumb_func_end MOD85_021D9404
thumb_func_start MOD85_021D94AC
MOD85_021D94AC: ; 0x021D94AC
push {r3, r4}
ldr r2, [r0, #0x10]
ldr r3, [r0, #8]
add r1, #0x9c
lsl r2, r2, #2
str r3, [r1, r2]
ldr r3, [r0, #8]
neg r3, r3
str r3, [r0, #8]
ldr r3, [r0, #0xc]
add r4, r3, #1
mov r3, #1
str r4, [r0, #0xc]
tst r3, r4
bne _021D94D0
ldr r3, [r0, #8]
asr r3, r3, #2
str r3, [r0, #8]
_021D94D0:
ldr r3, [r0, #8]
cmp r3, #0
bne _021D94DE
mov r3, #0
str r3, [r0]
str r3, [r0, #4]
str r3, [r1, r2]
_021D94DE:
mov r0, #0
pop {r3, r4}
bx lr
thumb_func_end MOD85_021D94AC
thumb_func_start MOD85_021D94E4
MOD85_021D94E4: ; 0x021D94E4
push {r3, lr}
ldr r2, [r1, #0x74]
cmp r2, #0
bne _021D94F0
mov r0, #0
pop {r3, pc}
_021D94F0:
ldr r2, [r0, #0x10]
cmp r2, #0
beq _021D9500
cmp r2, #1
beq _021D9506
cmp r2, #2
beq _021D950C
b _021D9512
_021D9500:
bl MOD85_021D953C
pop {r3, pc}
_021D9506:
bl MOD85_021D9578
pop {r3, pc}
_021D950C:
bl MOD85_021D95B4
pop {r3, pc}
_021D9512:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021D94E4
thumb_func_start MOD85_021D951C
MOD85_021D951C: ; 0x021D951C
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x74]
cmp r0, #0
bne _021D952C
mov r0, #0
pop {r3, r4, r5, pc}
_021D952C:
bl MOD85_021DBD74
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl MOD85_021D9E94
pop {r3, r4, r5, pc}
thumb_func_end MOD85_021D951C
thumb_func_start MOD85_021D953C
MOD85_021D953C: ; 0x021D953C
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x74]
bl MOD85_021DBD74
add r6, r0, #0
cmp r6, #6
bne _021D9552
mov r0, #0
pop {r4, r5, r6, pc}
_021D9552:
add r0, r5, #0
add r1, r4, #0
bl MOD85_021DA058
cmp r0, #1
bne _021D956A
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD85_021D95F0
pop {r4, r5, r6, pc}
_021D956A:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD85_021D9708
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021D953C
thumb_func_start MOD85_021D9578
MOD85_021D9578: ; 0x021D9578
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x74]
bl MOD85_021DBD74
add r6, r0, #0
cmp r6, #6
bne _021D958E
mov r0, #0
pop {r4, r5, r6, pc}
_021D958E:
add r0, r5, #0
add r1, r4, #0
bl MOD85_021DA058
cmp r0, #1
bne _021D95A6
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD85_021D9A48
pop {r4, r5, r6, pc}
_021D95A6:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD85_021D9AF0
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021D9578
thumb_func_start MOD85_021D95B4
MOD85_021D95B4: ; 0x021D95B4
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x74]
bl MOD85_021DBD74
add r6, r0, #0
cmp r6, #6
bne _021D95CA
mov r0, #0
pop {r4, r5, r6, pc}
_021D95CA:
add r0, r5, #0
add r1, r4, #0
bl MOD85_021DA058
cmp r0, #1
bne _021D95E2
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD85_021D9A48
pop {r4, r5, r6, pc}
_021D95E2:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD85_021D9AF0
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021D95B4
thumb_func_start MOD85_021D95F0
MOD85_021D95F0: ; 0x021D95F0
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp]
ldr r0, [r0, #0x10]
add r4, r1, #0
add r6, r2, #0
str r0, [sp, #8]
mov r7, #1
_021D9600:
ldr r1, [sp, #8]
add r0, r4, #0
add r2, r7, #0
bl MOD85_021DBD30
cmp r6, r0
bne _021D9638
mov r5, #0
cmp r7, #3
bgt _021D9638
_021D9614:
add r0, r4, #0
add r1, r5, #0
add r2, r6, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9630
ldr r0, [sp]
add r1, r7, r5
str r1, [r0, #0x14]
str r5, [r0, #0x18]
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021D9630:
add r5, r5, #1
add r0, r7, r5
cmp r0, #3
ble _021D9614
_021D9638:
add r7, r7, #1
cmp r7, #3
ble _021D9600
mov r0, #4
str r0, [sp, #0x10]
ldr r0, [r4, #0x70]
cmp r0, #1
bne _021D964C
mov r0, #0x15
str r0, [sp, #0x10]
_021D964C:
add r0, r4, #0
add r0, #0xa8
ldr r0, [r0]
mov r7, #1
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
cmp r0, #1
blt _021D9700
_021D965C:
mov r2, #1
ldr r1, [sp, #8]
add r0, r4, #0
sub r2, r2, r7
bl MOD85_021DBD30
cmp r6, r0
bne _021D96F8
mov r5, #0
_021D966E:
add r0, r7, r5
str r0, [sp, #4]
ldr r1, [sp, #4]
add r0, r4, #0
add r2, r6, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D96F2
cmp r5, #0
bne _021D96B4
ldr r0, [sp, #0xc]
ldr r1, [sp, #0xc]
lsr r0, r0, #0x1f
lsl r2, r1, #0x1e
sub r2, r2, r0
mov r1, #0x1e
ror r2, r1
add r0, r0, r2
bne _021D96E2
add r0, r4, #0
add r1, r7, #2
add r2, r6, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D96E2
ldr r0, [sp]
mov r1, #3
str r1, [r0, #0x14]
add r1, r7, #2
str r1, [r0, #0x18]
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021D96B4:
cmp r5, #1
bne _021D96E2
ldr r0, [sp, #0xc]
mov r1, #6
bl _s32_div_f
cmp r1, #2
bge _021D96E2
add r0, r4, #0
add r1, r7, #2
add r2, r6, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D96E2
ldr r0, [sp]
mov r1, #3
str r1, [r0, #0x14]
add r1, r7, #2
str r1, [r0, #0x18]
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021D96E2:
ldr r0, [sp]
add r1, r5, #1
str r1, [r0, #0x14]
ldr r1, [sp, #4]
add sp, #0x14
str r1, [r0, #0x18]
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021D96F2:
add r5, r5, #1
cmp r5, #3
blt _021D966E
_021D96F8:
ldr r0, [sp, #0x10]
add r7, r7, #1
cmp r7, r0
ble _021D965C
_021D9700:
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021D95F0
thumb_func_start MOD85_021D9708
MOD85_021D9708: ; 0x021D9708
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r4, r2, #0
add r2, r0, #0
ldr r7, [r2, #0x10]
add r2, sp, #0xc
str r2, [sp]
add r2, sp, #0x14
add r3, sp, #0x10
str r0, [sp, #4]
add r5, r1, #0
bl MOD85_021DA0A8
cmp r0, #0
bne _021D972C
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021D972C:
add r0, r5, #0
mov r1, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D979C
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
bl MOD85_021DBD30
cmp r4, r0
bne _021D9758
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
mov r1, #0
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9758:
ldr r2, [sp, #0x10]
cmp r2, #0
beq _021D977A
add r0, r5, #0
add r1, r7, #0
bl MOD85_021DBD30
cmp r4, r0
bne _021D977A
ldr r1, [sp, #0x10]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
mov r1, #0
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D977A:
ldr r2, [sp, #0xc]
cmp r2, #0
beq _021D979C
add r0, r5, #0
add r1, r7, #0
bl MOD85_021DBD30
cmp r4, r0
bne _021D979C
ldr r1, [sp, #0xc]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
mov r1, #0
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D979C:
mov r0, #4
str r0, [sp, #8]
ldr r0, [r5, #0x70]
cmp r0, #1
bne _021D97AA
mov r0, #0x15
str r0, [sp, #8]
_021D97AA:
ldr r0, [sp, #0x10]
cmp r0, #0
bne _021D97F2
ldr r0, [sp, #8]
mov r6, #1
cmp r0, #1
blt _021D97EC
_021D97B8:
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D97E4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D97E4
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D97E4:
ldr r0, [sp, #8]
add r6, r6, #1
cmp r6, r0
ble _021D97B8
_021D97EC:
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021D97F2:
ldr r0, [sp, #0xc]
cmp r0, #0
bne _021D98C4
ldr r0, [sp, #8]
mov r6, #1
cmp r0, #1
blt _021D98BE
_021D9800:
mov r0, #1
tst r0, r6
beq _021D985E
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9832
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9832
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9832:
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D98B6
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D98B6
ldr r1, [sp, #0x10]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D985E:
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D988A
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D988A
ldr r1, [sp, #0x10]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D988A:
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D98B6
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D98B6
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D98B6:
ldr r0, [sp, #8]
add r6, r6, #1
cmp r6, r0
ble _021D9800
_021D98BE:
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021D98C4:
ldr r0, [sp, #8]
mov r6, #1
cmp r0, #1
bge _021D98CE
b _021D9A42
_021D98CE:
mov r0, #3
and r0, r6
bne _021D9958
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9900
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9900
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9900:
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D992C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D992C
ldr r1, [sp, #0x10]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D992C:
ldr r2, [sp, #0xc]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9A38
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9A38
ldr r1, [sp, #0xc]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9958:
cmp r0, #1
bne _021D99B4
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9988
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9988
ldr r1, [sp, #0x10]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9988:
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9A38
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9A38
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D99B4:
ldr r2, [sp, #0xc]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D99E0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D99E0
ldr r1, [sp, #0xc]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D99E0:
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9A0C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9A0C
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9A0C:
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r7, #0
sub r2, r2, r6
bl MOD85_021DBD30
cmp r4, r0
bne _021D9A38
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl MOD85_021DA290
cmp r0, #1
bne _021D9A38
ldr r1, [sp, #0x10]
ldr r0, [sp, #4]
add sp, #0x18
str r1, [r0, #0x14]
str r6, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9A38:
ldr r0, [sp, #8]
add r6, r6, #1
cmp r6, r0
bgt _021D9A42
b _021D98CE
_021D9A42:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021D9708
thumb_func_start MOD85_021D9A48
MOD85_021D9A48: ; 0x021D9A48
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
ldr r7, [r0, #0x10]
str r0, [sp]
add r4, r1, #0
add r6, r2, #0
mov r5, #1
_021D9A56:
add r0, r4, #0
add r1, r7, #0
add r2, r5, #0
bl MOD85_021DBD30
cmp r6, r0
bne _021D9A72
ldr r0, [sp]
mov r1, #0
str r5, [r0, #0x14]
str r1, [r0, #0x18]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9A72:
add r5, r5, #1
cmp r5, #3
ble _021D9A56
mov r0, #4
str r0, [sp, #4]
ldr r0, [r4, #0x70]
cmp r0, #1
bne _021D9A86
mov r0, #0x15
str r0, [sp, #4]
_021D9A86:
ldr r0, [sp, #4]
mov r5, #1
cmp r0, #1
blt _021D9AE8
_021D9A8E:
mov r2, #1
add r0, r4, #0
add r1, r7, #0
sub r2, r2, r5
bl MOD85_021DBD30
cmp r6, r0
bne _021D9AE0
lsr r2, r5, #0x1f
lsl r1, r5, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
cmp r0, #1
bne _021D9ABE
ldr r0, [sp]
mov r1, #3
str r1, [r0, #0x14]
add r1, r5, #2
str r1, [r0, #0x18]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9ABE:
sub r0, r0, #2
cmp r0, #1
bhi _021D9AD4
ldr r0, [sp]
mov r1, #2
str r1, [r0, #0x14]
add r1, r5, #1
str r1, [r0, #0x18]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9AD4:
ldr r1, [sp]
mov r0, #1
str r0, [r1, #0x14]
add sp, #8
str r5, [r1, #0x18]
pop {r3, r4, r5, r6, r7, pc}
_021D9AE0:
ldr r0, [sp, #4]
add r5, r5, #1
cmp r5, r0
ble _021D9A8E
_021D9AE8:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021D9A48
thumb_func_start MOD85_021D9AF0
MOD85_021D9AF0: ; 0x021D9AF0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x48
add r5, r2, #0
add r2, r0, #0
ldr r7, [r2, #0x10]
add r2, sp, #0x3c
str r2, [sp]
add r2, sp, #0x44
add r3, sp, #0x40
str r0, [sp, #4]
add r6, r1, #0
bl MOD85_021DA0A8
cmp r0, #0
bne _021D9B14
add sp, #0x48
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021D9B14:
ldr r2, [sp, #0x44]
add r0, r6, #0
add r1, r7, #0
bl MOD85_021DBD30
cmp r5, r0
bne _021D9B32
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
add sp, #0x48
str r1, [r0, #0x14]
mov r1, #0
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9B32:
ldr r2, [sp, #0x40]
cmp r2, #0
beq _021D9B54
add r0, r6, #0
add r1, r7, #0
bl MOD85_021DBD30
cmp r5, r0
bne _021D9B54
ldr r1, [sp, #0x40]
ldr r0, [sp, #4]
add sp, #0x48
str r1, [r0, #0x14]
mov r1, #0
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9B54:
ldr r2, [sp, #0x3c]
cmp r2, #0
beq _021D9B76
add r0, r6, #0
add r1, r7, #0
bl MOD85_021DBD30
cmp r5, r0
bne _021D9B76
ldr r1, [sp, #0x3c]
ldr r0, [sp, #4]
add sp, #0x48
str r1, [r0, #0x14]
mov r1, #0
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9B76:
ldr r0, [r6, #0x70]
mov r4, #4
cmp r0, #1
bne _021D9B80
mov r4, #0x15
_021D9B80:
ldr r0, [sp, #0x40]
cmp r0, #0
bne _021D9BC0
mov r0, #1
str r0, [sp, #0x38]
cmp r4, #1
blt _021D9BBA
_021D9B8E:
ldr r3, [sp, #0x44]
ldr r2, [sp, #0x38]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9BB0
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x38]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9BB0:
ldr r0, [sp, #0x38]
add r0, r0, #1
str r0, [sp, #0x38]
cmp r0, r4
ble _021D9B8E
_021D9BBA:
add sp, #0x48
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021D9BC0:
lsl r0, r7, #2
add r0, r6, r0
add r0, #0xa8
ldr r1, [sp, #0x3c]
ldr r0, [r0]
cmp r1, #0
bne _021D9CA6
mov r1, #1
str r1, [sp, #8]
tst r0, r1
beq _021D9C3C
cmp r4, #1
blt _021D9C06
_021D9BDA:
ldr r3, [sp, #0x44]
ldr r2, [sp, #8]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9BFC
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #8]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9BFC:
ldr r0, [sp, #8]
add r0, r0, #1
str r0, [sp, #8]
cmp r0, r4
ble _021D9BDA
_021D9C06:
mov r0, #1
str r0, [sp, #0xc]
cmp r4, #1
blt _021D9CA0
_021D9C0E:
ldr r3, [sp, #0x40]
ldr r2, [sp, #0xc]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9C30
ldr r1, [sp, #0x40]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0xc]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9C30:
ldr r0, [sp, #0xc]
add r0, r0, #1
str r0, [sp, #0xc]
cmp r0, r4
ble _021D9C0E
b _021D9CA0
_021D9C3C:
cmp r4, #1
blt _021D9C6C
_021D9C40:
ldr r3, [sp, #0x40]
ldr r2, [sp, #8]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9C62
ldr r1, [sp, #0x40]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #8]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9C62:
ldr r0, [sp, #8]
add r0, r0, #1
str r0, [sp, #8]
cmp r0, r4
ble _021D9C40
_021D9C6C:
mov r0, #1
str r0, [sp, #0x10]
cmp r4, #1
blt _021D9CA0
_021D9C74:
ldr r3, [sp, #0x44]
ldr r2, [sp, #0x10]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9C96
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x10]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9C96:
ldr r0, [sp, #0x10]
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, r4
ble _021D9C74
_021D9CA0:
add sp, #0x48
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021D9CA6:
mov r1, #3
bl _s32_div_f
cmp r1, #0
bne _021D9D4E
mov r0, #1
str r0, [sp, #0x14]
cmp r4, #1
blt _021D9CE4
_021D9CB8:
ldr r3, [sp, #0x44]
ldr r2, [sp, #0x14]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9CDA
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x14]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9CDA:
ldr r0, [sp, #0x14]
add r0, r0, #1
str r0, [sp, #0x14]
cmp r0, r4
ble _021D9CB8
_021D9CE4:
mov r0, #1
str r0, [sp, #0x18]
cmp r4, #1
blt _021D9D18
_021D9CEC:
ldr r3, [sp, #0x40]
ldr r2, [sp, #0x18]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9D0E
ldr r1, [sp, #0x40]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x18]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9D0E:
ldr r0, [sp, #0x18]
add r0, r0, #1
str r0, [sp, #0x18]
cmp r0, r4
ble _021D9CEC
_021D9D18:
mov r0, #1
str r0, [sp, #0x1c]
cmp r4, #1
blt _021D9D4C
_021D9D20:
ldr r3, [sp, #0x3c]
ldr r2, [sp, #0x1c]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9D42
ldr r1, [sp, #0x3c]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x1c]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9D42:
ldr r0, [sp, #0x1c]
add r0, r0, #1
str r0, [sp, #0x1c]
cmp r0, r4
ble _021D9D20
_021D9D4C:
b _021D9E8C
_021D9D4E:
cmp r1, #1
bne _021D9DF0
mov r0, #1
str r0, [sp, #0x20]
cmp r4, #1
blt _021D9D86
_021D9D5A:
ldr r3, [sp, #0x40]
ldr r2, [sp, #0x20]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9D7C
ldr r1, [sp, #0x40]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x20]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9D7C:
ldr r0, [sp, #0x20]
add r0, r0, #1
str r0, [sp, #0x20]
cmp r0, r4
ble _021D9D5A
_021D9D86:
mov r0, #1
str r0, [sp, #0x24]
cmp r4, #1
blt _021D9DBA
_021D9D8E:
ldr r3, [sp, #0x3c]
ldr r2, [sp, #0x24]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9DB0
ldr r1, [sp, #0x3c]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x24]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9DB0:
ldr r0, [sp, #0x24]
add r0, r0, #1
str r0, [sp, #0x24]
cmp r0, r4
ble _021D9D8E
_021D9DBA:
mov r0, #1
str r0, [sp, #0x28]
cmp r4, #1
blt _021D9E8C
_021D9DC2:
ldr r3, [sp, #0x44]
ldr r2, [sp, #0x28]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9DE4
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x28]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9DE4:
ldr r0, [sp, #0x28]
add r0, r0, #1
str r0, [sp, #0x28]
cmp r0, r4
ble _021D9DC2
b _021D9E8C
_021D9DF0:
mov r0, #1
str r0, [sp, #0x2c]
cmp r4, #1
blt _021D9E24
_021D9DF8:
ldr r3, [sp, #0x3c]
ldr r2, [sp, #0x2c]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9E1A
ldr r1, [sp, #0x3c]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x2c]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9E1A:
ldr r0, [sp, #0x2c]
add r0, r0, #1
str r0, [sp, #0x2c]
cmp r0, r4
ble _021D9DF8
_021D9E24:
mov r0, #1
str r0, [sp, #0x30]
cmp r4, #1
blt _021D9E58
_021D9E2C:
ldr r3, [sp, #0x44]
ldr r2, [sp, #0x30]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9E4E
ldr r1, [sp, #0x44]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x30]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9E4E:
ldr r0, [sp, #0x30]
add r0, r0, #1
str r0, [sp, #0x30]
cmp r0, r4
ble _021D9E2C
_021D9E58:
mov r0, #1
str r0, [sp, #0x34]
cmp r4, #1
blt _021D9E8C
_021D9E60:
ldr r3, [sp, #0x40]
ldr r2, [sp, #0x34]
add r0, r6, #0
add r1, r7, #0
sub r2, r3, r2
bl MOD85_021DBD30
cmp r5, r0
bne _021D9E82
ldr r1, [sp, #0x40]
ldr r0, [sp, #4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x34]
add sp, #0x48
str r1, [r0, #0x18]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9E82:
ldr r0, [sp, #0x34]
add r0, r0, #1
str r0, [sp, #0x34]
cmp r0, r4
ble _021D9E60
_021D9E8C:
mov r0, #0
add sp, #0x48
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021D9AF0
thumb_func_start MOD85_021D9E94
MOD85_021D9E94: ; 0x021D9E94
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
ldr r0, [r0, #0x10]
add r6, r1, #0
str r0, [sp, #4]
ldr r0, [r6, #0x70]
add r7, r2, #0
mov r5, #4
cmp r0, #1
bne _021D9EAC
mov r5, #0x15
_021D9EAC:
mov r4, #0
cmp r5, #0
blt _021D9ED6
_021D9EB2:
mov r2, #2
ldr r1, [sp, #4]
add r0, r6, #0
sub r2, r2, r4
bl MOD85_021DBD30
cmp r7, r0
bne _021D9ED0
ldr r0, [sp]
mov r1, #2
str r1, [r0, #0x14]
str r4, [r0, #0x18]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021D9ED0:
add r4, r4, #1
cmp r4, r5
ble _021D9EB2
_021D9ED6:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021D9E94
thumb_func_start MOD85_021D9EDC
MOD85_021D9EDC: ; 0x021D9EDC
push {r4, r5, r6, lr}
add r4, r1, #0
add r6, r0, #0
add r0, r4, #0
bl MOD85_021DA040
ldr r1, [r6, #0x10]
cmp r1, #0
beq _021D9EF2
cmp r0, #2
blt _021D9F88
_021D9EF2:
cmp r1, #0
bne _021D9F18
cmp r0, #2
bge _021D9F18
mov r5, #0
_021D9EFC:
add r0, r4, #0
add r1, r5, #0
bl MOD85_021DA24C
cmp r0, #0
bne _021D9F0C
str r5, [r6, #0x18]
pop {r4, r5, r6, pc}
_021D9F0C:
add r5, r5, #1
cmp r5, #0x15
ble _021D9EFC
bl GF_AssertFail
pop {r4, r5, r6, pc}
_021D9F18:
cmp r1, #0
beq _021D9F26
cmp r1, #1
beq _021D9F46
cmp r1, #2
beq _021D9F66
b _021D9F84
_021D9F26:
mov r5, #1
_021D9F28:
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl MOD85_021DA2AC
cmp r0, #0
bne _021D9F3A
str r5, [r6, #0x18]
pop {r4, r5, r6, pc}
_021D9F3A:
add r5, r5, #1
cmp r5, #0x15
ble _021D9F28
bl GF_AssertFail
pop {r4, r5, r6, pc}
_021D9F46:
mov r5, #1
_021D9F48:
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl MOD85_021DA3F8
cmp r0, #0
bne _021D9F5A
str r5, [r6, #0x18]
pop {r4, r5, r6, pc}
_021D9F5A:
add r5, r5, #1
cmp r5, #0x15
ble _021D9F48
bl GF_AssertFail
b _021D9F84
_021D9F66:
mov r5, #1
_021D9F68:
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl MOD85_021DA530
cmp r0, #0
bne _021D9F7A
str r5, [r6, #0x18]
pop {r4, r5, r6, pc}
_021D9F7A:
add r5, r5, #1
cmp r5, #0x15
ble _021D9F68
bl GF_AssertFail
_021D9F84:
bl GF_AssertFail
_021D9F88:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021D9EDC
thumb_func_start MOD85_021D9F8C
MOD85_021D9F8C: ; 0x021D9F8C
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r6, r0, #0
add r0, r4, #0
bl MOD85_021DA040
ldr r1, [r6, #0x10]
cmp r1, #0
beq _021D9FA2
cmp r0, #2
blt _021DA03C
_021D9FA2:
cmp r1, #0
bne _021D9FCA
cmp r0, #2
bge _021D9FCA
mov r5, #0
mov r7, #2
_021D9FAE:
add r0, r4, #0
mov r1, #0
sub r2, r7, r5
bl MOD85_021DBD30
cmp r0, #3
beq _021D9FC0
str r5, [r6, #0x18]
pop {r3, r4, r5, r6, r7, pc}
_021D9FC0:
add r5, r5, #1
cmp r5, #0x15
blt _021D9FAE
bl GF_AssertFail
_021D9FCA:
ldr r0, [r6, #0x10]
cmp r0, #0
beq _021D9FDA
cmp r0, #1
beq _021D9FFA
cmp r0, #2
beq _021DA01A
b _021DA038
_021D9FDA:
mov r5, #0
_021D9FDC:
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl MOD85_021DA668
cmp r0, #0
bne _021D9FEE
str r5, [r6, #0x18]
pop {r3, r4, r5, r6, r7, pc}
_021D9FEE:
add r5, r5, #1
cmp r5, #0x15
blt _021D9FDC
bl GF_AssertFail
pop {r3, r4, r5, r6, r7, pc}
_021D9FFA:
mov r5, #0
_021D9FFC:
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl MOD85_021DA6B4
cmp r0, #0
bne _021DA00E
str r5, [r6, #0x18]
pop {r3, r4, r5, r6, r7, pc}
_021DA00E:
add r5, r5, #1
cmp r5, #0x15
ble _021D9FFC
bl GF_AssertFail
pop {r3, r4, r5, r6, r7, pc}
_021DA01A:
mov r5, #0
_021DA01C:
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl MOD85_021DA6FC
cmp r0, #0
bne _021DA02E
str r5, [r6, #0x18]
pop {r3, r4, r5, r6, r7, pc}
_021DA02E:
add r5, r5, #1
cmp r5, #0x15
ble _021DA01C
bl GF_AssertFail
_021DA038:
bl GF_AssertFail
_021DA03C:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021D9F8C
thumb_func_start MOD85_021DA040
MOD85_021DA040: ; 0x021DA040
mov r2, #0
add r3, r2, #0
_021DA044:
ldr r1, [r0, #0x7c]
cmp r1, #1
beq _021DA04C
add r3, r3, #1
_021DA04C:
add r2, r2, #1
add r0, r0, #4
cmp r2, #3
blt _021DA044
add r0, r3, #0
bx lr
thumb_func_end MOD85_021DA040
thumb_func_start MOD85_021DA058
MOD85_021DA058: ; 0x021DA058
ldr r0, [r0, #0x10]
cmp r0, #0
beq _021DA068
cmp r0, #1
beq _021DA07E
cmp r0, #2
beq _021DA090
b _021DA0A2
_021DA068:
add r0, r1, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _021DA07A
add r1, #0x84
ldr r0, [r1]
cmp r0, #1
beq _021DA0A2
_021DA07A:
mov r0, #0
bx lr
_021DA07E:
ldr r0, [r1, #0x7c]
cmp r0, #1
bne _021DA08C
add r1, #0x84
ldr r0, [r1]
cmp r0, #1
beq _021DA0A2
_021DA08C:
mov r0, #0
bx lr
_021DA090:
ldr r0, [r1, #0x7c]
cmp r0, #1
bne _021DA09E
add r1, #0x80
ldr r0, [r1]
cmp r0, #1
beq _021DA0A2
_021DA09E:
mov r0, #0
bx lr
_021DA0A2:
mov r0, #1
bx lr
.align 2, 0
thumb_func_end MOD85_021DA058
thumb_func_start MOD85_021DA0A8
MOD85_021DA0A8: ; 0x021DA0A8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
add r5, r1, #0
ldr r0, [sp, #0x20]
add r1, r3, #0
str r0, [sp, #0x20]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r7, [r5, #0x7c]
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x84
ldr r0, [r0]
mov r3, #0
mov ip, r0
add r0, r5, #0
add r0, #0xc8
ldr r4, [r0]
add r0, r5, #0
add r0, #0xec
ldr r6, [r0]
mov r0, #0x11
lsl r0, r0, #4
ldr r5, [r5, r0]
ldr r0, [sp, #0x20]
str r3, [r2]
str r3, [r1]
str r3, [r0]
ldr r0, [sp]
ldr r0, [r0, #0x10]
cmp r0, #0
beq _021DA0F6
cmp r0, #1
beq _021DA160
cmp r0, #2
beq _021DA1DC
b _021DA240
_021DA0F6:
ldr r0, [sp, #4]
cmp r0, #1
beq _021DA124
mov r0, ip
cmp r0, #1
beq _021DA124
cmp r6, r5
bne _021DA10E
add sp, #8
str r6, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA10E:
cmp r5, #1
bne _021DA11C
mov r0, #3
str r0, [r2]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA11C:
mov r0, #1
str r0, [r2]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA124:
ldr r0, [sp, #4]
cmp r0, #1
beq _021DA148
cmp r6, #2
bne _021DA140
mov r0, #1
str r0, [r2]
mov r2, #2
str r2, [r1]
ldr r1, [sp, #0x20]
mov r2, #3
str r2, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA140:
add sp, #8
str r6, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA148:
cmp r5, #2
bne _021DA154
add sp, #8
str r5, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA154:
mov r0, #1
str r0, [r2]
mov r2, #3
str r2, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA160:
cmp r7, #1
beq _021DA180
mov r0, ip
cmp r0, #1
beq _021DA180
cmp r4, r5
bne _021DA176
add sp, #8
str r4, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA176:
mov r0, #2
str r0, [r2]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA180:
cmp r7, #1
beq _021DA1B0
cmp r4, #2
bne _021DA192
mov r0, #2
str r0, [r2]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA192:
cmp r4, #1
bne _021DA1A2
mov r0, #1
str r0, [r2]
mov r2, #2
str r2, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA1A2:
mov r0, #2
str r0, [r2]
mov r0, #3
str r0, [r1]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA1B0:
cmp r5, #2
bne _021DA1BE
mov r0, #2
str r0, [r2]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA1BE:
cmp r5, #1
bne _021DA1CE
mov r0, #1
str r0, [r2]
mov r2, #2
str r2, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA1CE:
mov r0, #2
str r0, [r2]
mov r0, #3
str r0, [r1]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA1DC:
cmp r7, #1
beq _021DA204
ldr r0, [sp, #4]
cmp r0, #1
beq _021DA204
cmp r4, r6
bne _021DA1F2
add sp, #8
str r4, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA1F2:
cmp r4, #1
bne _021DA1FA
mov r0, #3
b _021DA1FC
_021DA1FA:
mov r0, #1
_021DA1FC:
str r0, [r2]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA204:
cmp r7, #1
beq _021DA222
cmp r4, #2
bne _021DA216
mov r0, #2
str r0, [r2]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA216:
mov r0, #1
str r0, [r2]
mov r2, #3
str r2, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA222:
cmp r6, #2
bne _021DA238
mov r0, #1
str r0, [r2]
mov r2, #2
str r2, [r1]
ldr r1, [sp, #0x20]
mov r2, #3
str r2, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA238:
add sp, #8
str r6, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA240:
bl GF_AssertFail
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DA0A8
thumb_func_start MOD85_021DA24C
MOD85_021DA24C: ; 0x021DA24C
push {r3, r4, r5, lr}
add r4, r1, #0
mov r2, #1
mov r1, #0
sub r2, r2, r4
add r5, r0, #0
bl MOD85_021DBD30
cmp r0, #3
bne _021DA264
mov r0, #1
pop {r3, r4, r5, pc}
_021DA264:
mov r2, #2
add r0, r5, #0
mov r1, #0
sub r2, r2, r4
bl MOD85_021DBD30
cmp r0, #3
bne _021DA278
mov r0, #1
pop {r3, r4, r5, pc}
_021DA278:
mov r2, #3
add r0, r5, #0
mov r1, #0
sub r2, r2, r4
bl MOD85_021DBD30
cmp r0, #3
bne _021DA28C
mov r0, #1
pop {r3, r4, r5, pc}
_021DA28C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end MOD85_021DA24C
thumb_func_start MOD85_021DA290
MOD85_021DA290: ; 0x021DA290
push {r3, lr}
cmp r2, #3
bne _021DA29A
mov r0, #1
pop {r3, pc}
_021DA29A:
bl MOD85_021DA24C
cmp r0, #0
bne _021DA2A6
mov r0, #1
pop {r3, pc}
_021DA2A6:
mov r0, #0
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DA290
thumb_func_start MOD85_021DA2AC
MOD85_021DA2AC: ; 0x021DA2AC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r4, r1, #0
add r0, r4, #0
add r0, #0xf0
ldr r7, [r0]
mov r0, #0x45
lsl r0, r0, #2
ldr r6, [r4, r0]
mov r1, #1
add r0, r2, #0
sub r0, r1, r0
str r0, [sp, #0x10]
str r2, [sp]
ldr r2, [sp, #0x10]
add r0, r4, #0
mov r1, #0
bl MOD85_021DBD30
mov r1, #1
add r5, r0, #0
add r0, r4, #0
sub r2, r1, r7
bl MOD85_021DBD30
str r0, [sp, #0x14]
mov r0, #1
sub r0, r0, r6
str r0, [sp, #4]
ldr r2, [sp, #4]
add r0, r4, #0
mov r1, #2
bl MOD85_021DBD30
cmp r5, #3
beq _021DA2FE
ldr r1, [sp, #0x14]
cmp r5, r1
bne _021DA304
cmp r5, r0
bne _021DA304
_021DA2FE:
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA304:
ldr r2, [sp]
mov r3, #2
add r0, r4, #0
mov r1, #0
sub r2, r3, r2
bl MOD85_021DBD30
add r5, r0, #0
mov r0, #2
sub r0, r0, r7
str r0, [sp, #0xc]
ldr r2, [sp, #0xc]
add r0, r4, #0
mov r1, #1
bl MOD85_021DBD30
mov r1, #2
str r0, [sp, #0x18]
add r0, r4, #0
sub r2, r1, r6
bl MOD85_021DBD30
cmp r5, #3
beq _021DA33E
ldr r1, [sp, #0x18]
cmp r5, r1
bne _021DA344
cmp r5, r0
bne _021DA344
_021DA33E:
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA344:
ldr r0, [sp]
mov r1, #3
sub r0, r1, r0
str r0, [sp, #8]
ldr r2, [sp, #8]
add r0, r4, #0
mov r1, #0
bl MOD85_021DBD30
mov r2, #3
add r5, r0, #0
add r0, r4, #0
mov r1, #1
sub r2, r2, r7
bl MOD85_021DBD30
add r7, r0, #0
mov r0, #3
sub r0, r0, r6
str r0, [sp, #0x1c]
ldr r2, [sp, #0x1c]
add r0, r4, #0
mov r1, #2
bl MOD85_021DBD30
cmp r5, #3
beq _021DA382
cmp r5, r7
bne _021DA388
cmp r5, r0
bne _021DA388
_021DA382:
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA388:
ldr r2, [sp, #0x10]
add r0, r4, #0
mov r1, #0
bl MOD85_021DBD30
add r5, r0, #0
ldr r2, [sp, #0xc]
add r0, r4, #0
mov r1, #1
bl MOD85_021DBD30
add r6, r0, #0
ldr r2, [sp, #0x1c]
add r0, r4, #0
mov r1, #2
bl MOD85_021DBD30
cmp r5, #3
beq _021DA3B6
cmp r5, r6
bne _021DA3BC
cmp r5, r0
bne _021DA3BC
_021DA3B6:
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA3BC:
ldr r2, [sp, #8]
add r0, r4, #0
mov r1, #0
bl MOD85_021DBD30
add r5, r0, #0
ldr r2, [sp, #0xc]
add r0, r4, #0
mov r1, #1
bl MOD85_021DBD30
add r6, r0, #0
ldr r2, [sp, #4]
add r0, r4, #0
mov r1, #2
bl MOD85_021DBD30
cmp r5, #3
beq _021DA3EA
cmp r5, r6
bne _021DA3F0
cmp r5, r0
bne _021DA3F0
_021DA3EA:
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA3F0:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DA2AC
thumb_func_start MOD85_021DA3F8
MOD85_021DA3F8: ; 0x021DA3F8
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r1, #0
add r0, r5, #0
add r0, #0xcc
ldr r6, [r0]
mov r0, #0x45
lsl r0, r0, #2
ldr r4, [r5, r0]
mov r0, #1
sub r0, r0, r6
str r0, [sp, #0xc]
add r7, r2, #0
ldr r2, [sp, #0xc]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
mov r1, #1
str r0, [sp, #0x10]
add r0, r5, #0
sub r2, r1, r7
bl MOD85_021DBD30
str r0, [sp, #0x14]
mov r0, #1
sub r0, r0, r4
str r0, [sp]
ldr r2, [sp]
add r0, r5, #0
mov r1, #2
bl MOD85_021DBD30
ldr r2, [sp, #0x10]
ldr r1, [sp, #0x14]
cmp r2, r1
bne _021DA44E
add r1, r2, #0
cmp r1, r0
bne _021DA44E
add sp, #0x24
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021DA44E:
mov r2, #2
add r0, r5, #0
mov r1, #0
sub r2, r2, r6
bl MOD85_021DBD30
str r0, [sp, #0x18]
mov r0, #2
sub r0, r0, r7
str r0, [sp, #8]
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl MOD85_021DBD30
mov r1, #2
str r0, [sp, #0x1c]
add r0, r5, #0
sub r2, r1, r4
bl MOD85_021DBD30
ldr r2, [sp, #0x18]
ldr r1, [sp, #0x1c]
cmp r2, r1
bne _021DA48C
add r1, r2, #0
cmp r1, r0
bne _021DA48C
add sp, #0x24
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021DA48C:
mov r0, #3
sub r0, r0, r6
str r0, [sp, #4]
ldr r2, [sp, #4]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
mov r2, #3
add r6, r0, #0
add r0, r5, #0
mov r1, #1
sub r2, r2, r7
bl MOD85_021DBD30
str r0, [sp, #0x20]
mov r0, #3
sub r7, r0, r4
add r0, r5, #0
mov r1, #2
add r2, r7, #0
bl MOD85_021DBD30
ldr r1, [sp, #0x20]
cmp r6, r1
bne _021DA4CA
cmp r6, r0
bne _021DA4CA
add sp, #0x24
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021DA4CA:
ldr r2, [sp, #0xc]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
add r4, r0, #0
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl MOD85_021DBD30
add r6, r0, #0
add r0, r5, #0
mov r1, #2
add r2, r7, #0
bl MOD85_021DBD30
cmp r4, r6
bne _021DA4FA
cmp r4, r0
bne _021DA4FA
add sp, #0x24
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021DA4FA:
ldr r2, [sp, #4]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
add r4, r0, #0
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl MOD85_021DBD30
add r6, r0, #0
ldr r2, [sp]
add r0, r5, #0
mov r1, #2
bl MOD85_021DBD30
cmp r4, r6
bne _021DA52A
cmp r4, r0
bne _021DA52A
add sp, #0x24
mov r0, #1
pop {r4, r5, r6, r7, pc}
_021DA52A:
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DA3F8
thumb_func_start MOD85_021DA530
MOD85_021DA530: ; 0x021DA530
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r1, #0
add r0, r5, #0
add r0, #0xcc
ldr r6, [r0]
add r0, r5, #0
add r0, #0xf0
ldr r4, [r0]
mov r0, #1
sub r0, r0, r6
str r0, [sp, #0xc]
add r7, r2, #0
ldr r2, [sp, #0xc]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
mov r1, #1
str r0, [sp, #0x10]
add r0, r5, #0
sub r2, r1, r4
bl MOD85_021DBD30
str r0, [sp, #0x14]
mov r0, #1
sub r0, r0, r7
str r0, [sp]
ldr r2, [sp]
add r0, r5, #0
mov r1, #2
bl MOD85_021DBD30
ldr r2, [sp, #0x10]
ldr r1, [sp, #0x14]
cmp r2, r1
bne _021DA586
add r1, r2, #0
cmp r1, r0
bne _021DA586
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA586:
mov r2, #2
add r0, r5, #0
mov r1, #0
sub r2, r2, r6
bl MOD85_021DBD30
str r0, [sp, #0x18]
mov r0, #2
sub r0, r0, r4
str r0, [sp, #8]
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl MOD85_021DBD30
mov r1, #2
str r0, [sp, #0x1c]
add r0, r5, #0
sub r2, r1, r7
bl MOD85_021DBD30
ldr r2, [sp, #0x18]
ldr r1, [sp, #0x1c]
cmp r2, r1
bne _021DA5C4
add r1, r2, #0
cmp r1, r0
bne _021DA5C4
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA5C4:
mov r0, #3
sub r0, r0, r6
str r0, [sp, #4]
ldr r2, [sp, #4]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
mov r2, #3
add r6, r0, #0
add r0, r5, #0
mov r1, #1
sub r2, r2, r4
bl MOD85_021DBD30
add r4, r0, #0
mov r0, #3
sub r7, r0, r7
add r0, r5, #0
mov r1, #2
add r2, r7, #0
bl MOD85_021DBD30
cmp r6, r4
bne _021DA600
cmp r6, r0
bne _021DA600
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA600:
ldr r2, [sp, #0xc]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
add r4, r0, #0
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl MOD85_021DBD30
add r6, r0, #0
add r0, r5, #0
mov r1, #2
add r2, r7, #0
bl MOD85_021DBD30
cmp r4, r6
bne _021DA630
cmp r4, r0
bne _021DA630
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA630:
ldr r2, [sp, #4]
add r0, r5, #0
mov r1, #0
bl MOD85_021DBD30
add r4, r0, #0
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl MOD85_021DBD30
add r6, r0, #0
ldr r2, [sp]
add r0, r5, #0
mov r1, #2
bl MOD85_021DBD30
cmp r4, r6
bne _021DA660
cmp r4, r0
bne _021DA660
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA660:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DA530
thumb_func_start MOD85_021DA668
MOD85_021DA668: ; 0x021DA668
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r0, r5, #0
add r0, #0xf0
ldr r7, [r0]
mov r0, #0x45
lsl r0, r0, #2
mov r3, #2
ldr r6, [r5, r0]
add r0, r5, #0
mov r1, #0
sub r2, r3, r2
bl MOD85_021DBD30
mov r2, #2
add r4, r0, #0
add r0, r5, #0
mov r1, #1
sub r2, r2, r7
bl MOD85_021DBD30
mov r1, #2
add r7, r0, #0
add r0, r5, #0
sub r2, r1, r6
bl MOD85_021DBD30
cmp r4, #3
beq _021DA6AA
cmp r4, r7
bne _021DA6AE
cmp r4, r0
bne _021DA6AE
_021DA6AA:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA6AE:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DA668
thumb_func_start MOD85_021DA6B4
MOD85_021DA6B4: ; 0x021DA6B4
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r7, r2, #0
add r2, r5, #0
add r2, #0xcc
mov r0, #0x45
ldr r3, [r2]
lsl r0, r0, #2
mov r2, #2
ldr r6, [r5, r0]
add r0, r5, #0
mov r1, #0
sub r2, r2, r3
bl MOD85_021DBD30
mov r2, #2
add r4, r0, #0
add r0, r5, #0
mov r1, #1
sub r2, r2, r7
bl MOD85_021DBD30
mov r1, #2
add r7, r0, #0
add r0, r5, #0
sub r2, r1, r6
bl MOD85_021DBD30
cmp r4, r7
bne _021DA6F8
cmp r4, r0
bne _021DA6F8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA6F8:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DA6B4
thumb_func_start MOD85_021DA6FC
MOD85_021DA6FC: ; 0x021DA6FC
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r7, r2, #0
add r2, r5, #0
add r2, #0xcc
add r0, r5, #0
ldr r3, [r2]
add r0, #0xf0
mov r2, #2
ldr r6, [r0]
add r0, r5, #0
mov r1, #0
sub r2, r2, r3
bl MOD85_021DBD30
mov r2, #2
add r4, r0, #0
add r0, r5, #0
mov r1, #1
sub r2, r2, r6
bl MOD85_021DBD30
mov r1, #2
add r6, r0, #0
add r0, r5, #0
sub r2, r1, r7
bl MOD85_021DBD30
cmp r4, r6
bne _021DA740
cmp r4, r0
bne _021DA740
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021DA740:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DA6FC
thumb_func_start MOD85_021DA744
MOD85_021DA744: ; 0x021DA744
push {r4, r5, r6, lr}
add r6, r0, #0
add r4, r6, #0
lsl r5, r1, #2
add r4, #0x90
ldr r0, [r4, r5]
mov r1, #0x2a
add r0, r0, r2
str r0, [r4, r5]
ldr r0, [r4, r5]
lsl r1, r1, #0x10
bl _s32_div_f
str r1, [r4, r5]
ldr r1, [r4, r5]
asr r0, r1, #0xb
lsr r0, r0, #0x14
add r0, r1, r0
asr r1, r0, #0xc
asr r0, r1, #4
lsr r0, r0, #0x1b
add r0, r1, r0
asr r1, r0, #5
mov r0, #0x15
sub r1, r0, r1
add r0, r6, r5
add r0, #0xa8
str r1, [r0]
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021DA744
thumb_func_start MOD85_021DA780
MOD85_021DA780: ; 0x021DA780
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r7, #0
add r5, #0x90
lsl r4, r1, #2
ldr r0, [r5, r4]
lsr r6, r0, #0x1f
lsl r3, r0, #0xf
sub r3, r3, r6
mov r0, #0xf
ror r3, r0
add r0, r6, r3
beq _021DA7B4
cmp r0, r2
bge _021DA7A0
add r2, r0, #0
_021DA7A0:
add r0, r7, #0
bl MOD85_021DA744
ldr r0, [r5, r4]
lsr r2, r0, #0x1f
lsl r1, r0, #0xf
sub r1, r1, r2
mov r0, #0xf
ror r1, r0
add r0, r2, r1
_021DA7B4:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DA780
thumb_func_start MOD85_021DA7B8
MOD85_021DA7B8: ; 0x021DA7B8
push {r3, lr}
bl LCRandom
mov r1, #0x64
bl _u32_div_f
add r0, r1, #0
pop {r3, pc}
thumb_func_end MOD85_021DA7B8
thumb_func_start MOD85_021DA7C8
MOD85_021DA7C8: ; 0x021DA7C8
ldr r3, [r1]
sub r2, r3, r0
str r2, [r1]
bpl _021DA7D4
mov r2, #0
str r2, [r1]
_021DA7D4:
cmp r3, r0
bhs _021DA7DC
mov r0, #1
bx lr
_021DA7DC:
mov r0, #0
bx lr
thumb_func_end MOD85_021DA7C8
thumb_func_start MOD85_021DA7E0
MOD85_021DA7E0: ; 0x021DA7E0
push {r4, lr}
add r4, r0, #0
bl MOD85_021DA7B8
add r4, #0x88
ldr r1, [r4]
lsl r2, r1, #2
ldr r1, _021DA800 ; =0x021DFC7C
ldr r1, [r1, r2]
cmp r1, r0
bls _021DA7FA
mov r0, #1
pop {r4, pc}
_021DA7FA:
mov r0, #0
pop {r4, pc}
nop
_021DA800: .word MOD85_021DFC7C
thumb_func_end MOD85_021DA7E0
thumb_func_start MOD85_021DA804
MOD85_021DA804: ; 0x021DA804
push {r3, r4, r5, lr}
add r5, r0, #0
mov r1, #0
str r1, [r5, #0x74]
bl MOD85_021DA7E0
cmp r0, #1
beq _021DA816
b _021DA928
_021DA816:
add r0, r5, #0
bl MOD85_021DA7B8
add r1, r5, #0
str r0, [sp]
add r1, #0x88
ldr r1, [r1]
ldr r0, _021DA92C ; =0x021DFD24
lsl r3, r1, #4
mov r1, #0x47
lsl r1, r1, #4
ldr r2, [r5, r1]
add r4, r0, r3
add r2, r2, #1
str r2, [r5, r1]
ldrh r0, [r0, r3]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
beq _021DA856
ldr r1, [r5, #0x74]
mov r0, #8
orr r0, r1
str r0, [r5, #0x74]
mov r0, #0x4a
lsl r0, r0, #4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA856:
ldrh r0, [r4, #2]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
beq _021DA876
ldr r1, [r5, #0x74]
mov r0, #4
orr r0, r1
str r0, [r5, #0x74]
ldr r0, _021DA930 ; =0x0000049C
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA876:
ldrh r0, [r4, #4]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
beq _021DA898
ldr r1, [r5, #0x74]
mov r0, #0x80
orr r0, r1
str r0, [r5, #0x74]
mov r0, #0x4b
lsl r0, r0, #4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA898:
ldrh r0, [r4, #6]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
beq _021DA8B8
ldr r1, [r5, #0x74]
mov r0, #0x40
orr r0, r1
str r0, [r5, #0x74]
ldr r0, _021DA934 ; =0x000004AC
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA8B8:
ldrh r0, [r4, #8]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
beq _021DA8D8
ldr r1, [r5, #0x74]
mov r0, #0x20
orr r0, r1
str r0, [r5, #0x74]
ldr r0, _021DA938 ; =0x000004A8
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA8D8:
ldrh r0, [r4, #0xa]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
beq _021DA8F8
ldr r1, [r5, #0x74]
mov r0, #0x10
orr r0, r1
str r0, [r5, #0x74]
ldr r0, _021DA93C ; =0x000004A4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA8F8:
ldrh r0, [r4, #0xc]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #0
ldr r1, [r5, #0x74]
beq _021DA918
mov r0, #2
orr r0, r1
str r0, [r5, #0x74]
ldr r0, _021DA940 ; =0x00000498
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_021DA918:
mov r0, #1
orr r1, r0
str r1, [r5, #0x74]
ldr r1, _021DA944 ; =0x00000494
ldr r2, [r5, r1]
add r2, r2, #1
str r2, [r5, r1]
pop {r3, r4, r5, pc}
_021DA928:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_021DA92C: .word MOD85_021DFD24
_021DA930: .word 0x0000049C
_021DA934: .word 0x000004AC
_021DA938: .word 0x000004A8
_021DA93C: .word 0x000004A4
_021DA940: .word 0x00000498
_021DA944: .word 0x00000494
thumb_func_end MOD85_021DA804
thumb_func_start MOD85_021DA948
MOD85_021DA948: ; 0x021DA948
push {r4, lr}
add r4, r0, #0
bl MOD85_021DA7B8
add r4, #0x88
ldr r1, [r4]
lsl r2, r1, #2
ldr r1, _021DA968 ; =0x021DFC34
ldr r1, [r1, r2]
cmp r0, r1
bhs _021DA962
mov r0, #1
pop {r4, pc}
_021DA962:
mov r0, #0
pop {r4, pc}
nop
_021DA968: .word MOD85_021DFC34
thumb_func_end MOD85_021DA948
thumb_func_start MOD85_021DA96C
MOD85_021DA96C: ; 0x021DA96C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl MOD85_021DA7B8
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x88
ldr r1, [r0]
mov r0, #0x48
ldr r2, _021DAA1C ; =0x021E0090
mul r0, r1
add r0, r2, r0
str r0, [sp]
mov r6, #0
add r4, r0, #0
add r7, sp, #4
_021DA98E:
ldr r0, [r4]
add r1, r7, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DA9EE
mov r0, #0xc
add r1, r6, #0
mul r1, r0
ldr r0, [sp]
add r1, r0, r1
ldr r0, [r1, #4]
str r0, [r5, #0x50]
ldr r0, [r1, #8]
str r0, [r5, #0x4c]
ldr r0, [r5, #0x50]
lsl r1, r0, #2
ldr r0, _021DAA20 ; =0x021DFCC4
ldr r0, [r0, r1]
str r0, [r5, #0x18]
ldr r0, [r5, #0x4c]
cmp r0, #0
beq _021DA9C8
cmp r0, #1
beq _021DA9D4
cmp r0, #2
beq _021DA9E0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DA9C8:
ldr r0, _021DAA24 ; =0x00000478
add sp, #8
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
pop {r3, r4, r5, r6, r7, pc}
_021DA9D4:
ldr r0, _021DAA28 ; =0x0000047C
add sp, #8
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
pop {r3, r4, r5, r6, r7, pc}
_021DA9E0:
mov r0, #0x12
lsl r0, r0, #6
ldr r1, [r5, r0]
add sp, #8
add r1, r1, #1
str r1, [r5, r0]
pop {r3, r4, r5, r6, r7, pc}
_021DA9EE:
add r6, r6, #1
add r4, #0xc
cmp r6, #6
blt _021DA98E
sub r1, r6, #1
mov r0, #0xc
add r2, r1, #0
mul r2, r0
ldr r0, [sp]
add r1, r0, r2
ldr r0, [r1, #4]
str r0, [r5, #0x50]
ldr r0, [r1, #8]
str r0, [r5, #0x4c]
ldr r0, [r5, #0x50]
lsl r1, r0, #2
ldr r0, _021DAA20 ; =0x021DFCC4
ldr r0, [r0, r1]
str r0, [r5, #0x18]
bl GF_AssertFail
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DAA1C: .word MOD85_021E0090
_021DAA20: .word MOD85_021DFCC4
_021DAA24: .word 0x00000478
_021DAA28: .word 0x0000047C
thumb_func_end MOD85_021DA96C
thumb_func_start MOD85_021DAA2C
MOD85_021DAA2C: ; 0x021DAA2C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r0, #0
mov r4, #0
bl MOD85_021DA7B8
str r0, [sp, #4]
add r0, r6, #0
add r0, #0x88
ldr r1, [r0]
mov r0, #0x48
mul r0, r1
ldr r2, _021DAABC ; =0x021DFEE0
ldr r1, [r6, #0x4c]
add r2, r2, r0
mov r0, #0x18
mul r0, r1
add r5, r2, r0
str r5, [sp]
add r7, sp, #4
_021DAA54:
ldr r0, [r5]
add r1, r7, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DAAA4
ldr r0, [sp]
lsl r1, r4, #3
add r0, r0, r1
ldr r1, [r0, #4]
mov r0, #0x56
lsl r0, r0, #2
str r1, [r6, r0]
ldr r0, [r6, r0]
cmp r0, #0
beq _021DAA80
cmp r0, #1
beq _021DAA8C
cmp r0, #2
beq _021DAA98
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_021DAA80:
ldr r0, _021DAAC0 ; =0x00000488
add sp, #8
ldr r1, [r6, r0]
add r1, r1, #1
str r1, [r6, r0]
pop {r3, r4, r5, r6, r7, pc}
_021DAA8C:
ldr r0, _021DAAC4 ; =0x00000484
add sp, #8
ldr r1, [r6, r0]
add r1, r1, #1
str r1, [r6, r0]
pop {r3, r4, r5, r6, r7, pc}
_021DAA98:
ldr r0, _021DAAC8 ; =0x0000048C
add sp, #8
ldr r1, [r6, r0]
add r1, r1, #1
str r1, [r6, r0]
pop {r3, r4, r5, r6, r7, pc}
_021DAAA4:
add r4, r4, #1
add r5, #8
cmp r4, #3
blo _021DAA54
mov r0, #0x56
mov r1, #1
lsl r0, r0, #2
str r1, [r6, r0]
bl GF_AssertFail
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DAABC: .word MOD85_021DFEE0
_021DAAC0: .word 0x00000488
_021DAAC4: .word 0x00000484
_021DAAC8: .word 0x0000048C
thumb_func_end MOD85_021DAA2C
thumb_func_start MOD85_021DAACC
MOD85_021DAACC: ; 0x021DAACC
push {r4, lr}
add r1, r0, #0
add r1, #0x88
ldr r1, [r1]
lsl r2, r1, #2
ldr r1, _021DAAEC ; =0x021DFC94
ldr r4, [r1, r2]
bl MOD85_021DA7B8
cmp r0, r4
bhs _021DAAE6
mov r0, #1
pop {r4, pc}
_021DAAE6:
mov r0, #0
pop {r4, pc}
nop
_021DAAEC: .word MOD85_021DFC94
thumb_func_end MOD85_021DAACC
thumb_func_start MOD85_021DAAF0
MOD85_021DAAF0: ; 0x021DAAF0
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x88
ldr r1, [r1]
ldr r2, _021DABE4 ; =0x021DFD84
lsl r1, r1, #4
add r5, r2, r1
bl MOD85_021DA7B8
str r0, [sp]
mov r0, #0
str r0, [r4, #0x74]
add r0, r4, #0
bl MOD85_021DAACC
cmp r0, #0
bne _021DAB7A
ldr r0, _021DABE8 ; =0x00000474
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, #0x50]
cmp r1, #5
bhi _021DAB6A
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021DAB2E: ; jump table
.short _021DAB3A - _021DAB2E - 2 ; case 0
.short _021DAB3A - _021DAB2E - 2 ; case 1
.short _021DAB3A - _021DAB2E - 2 ; case 2
.short _021DAB52 - _021DAB2E - 2 ; case 3
.short _021DAB52 - _021DAB2E - 2 ; case 4
.short _021DAB52 - _021DAB2E - 2 ; case 5
_021DAB3A:
mov r1, #2
ldr r2, [r4, #0x74]
lsl r1, r1, #8
orr r1, r2
str r1, [r4, #0x74]
add r1, r0, #0
add r1, #0x44
ldr r1, [r4, r1]
add r0, #0x44
add r1, r1, #1
str r1, [r4, r0]
pop {r3, r4, r5, pc}
_021DAB52:
mov r1, #1
ldr r2, [r4, #0x74]
lsl r1, r1, #8
orr r1, r2
str r1, [r4, #0x74]
add r1, r0, #0
add r1, #0x40
ldr r1, [r4, r1]
add r0, #0x40
add r1, r1, #1
str r1, [r4, r0]
pop {r3, r4, r5, pc}
_021DAB6A:
bl GF_AssertFail
mov r0, #2
ldr r1, [r4, #0x74]
lsl r0, r0, #8
orr r0, r1
str r0, [r4, #0x74]
pop {r3, r4, r5, pc}
_021DAB7A:
ldr r0, [r5]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DAB98
ldr r1, [r4, #0x74]
mov r0, #4
orr r0, r1
str r0, [r4, #0x74]
ldr r0, _021DABEC ; =0x0000049C
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
pop {r3, r4, r5, pc}
_021DAB98:
ldr r0, [r5, #4]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DABB6
ldr r1, [r4, #0x74]
mov r0, #0x40
orr r0, r1
str r0, [r4, #0x74]
ldr r0, _021DABF0 ; =0x000004AC
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
pop {r3, r4, r5, pc}
_021DABB6:
ldr r0, [r5, #4]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DABD4
ldr r1, [r4, #0x74]
mov r0, #0x10
orr r0, r1
str r0, [r4, #0x74]
ldr r0, _021DABF4 ; =0x000004A4
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
pop {r3, r4, r5, pc}
_021DABD4:
mov r0, #1
str r0, [r4, #0x74]
ldr r0, _021DABF8 ; =0x00000494
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
pop {r3, r4, r5, pc}
nop
_021DABE4: .word MOD85_021DFD84
_021DABE8: .word 0x00000474
_021DABEC: .word 0x0000049C
_021DABF0: .word 0x000004AC
_021DABF4: .word 0x000004A4
_021DABF8: .word 0x00000494
thumb_func_end MOD85_021DAAF0
thumb_func_start MOD85_021DABFC
MOD85_021DABFC: ; 0x021DABFC
push {r4, lr}
add r4, r0, #0
bl MOD85_021DA7B8
add r4, #0x88
ldr r1, [r4]
lsl r2, r1, #2
ldr r1, _021DAC1C ; =0x021DFCDC
ldr r1, [r1, r2]
cmp r0, r1
bhs _021DAC16
mov r0, #1
pop {r4, pc}
_021DAC16:
mov r0, #0
pop {r4, pc}
nop
_021DAC1C: .word MOD85_021DFCDC
thumb_func_end MOD85_021DABFC
thumb_func_start MOD85_021DAC20
MOD85_021DAC20: ; 0x021DAC20
push {r4, lr}
add r4, r0, #0
bl MOD85_021DA7B8
add r4, #0x88
ldr r1, [r4]
lsl r2, r1, #2
ldr r1, _021DAC40 ; =0x021DFC64
ldr r1, [r1, r2]
cmp r0, r1
bhs _021DAC3A
mov r0, #1
pop {r4, pc}
_021DAC3A:
mov r0, #0
pop {r4, pc}
nop
_021DAC40: .word MOD85_021DFC64
thumb_func_end MOD85_021DAC20
thumb_func_start MOD85_021DAC44
MOD85_021DAC44: ; 0x021DAC44
push {r4, lr}
ldr r4, [r0, #0x18]
bl MOD85_021DA7B8
cmp r0, r4
bhs _021DAC54
mov r0, #1
pop {r4, pc}
_021DAC54:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DAC44
thumb_func_start MOD85_021DAC58
MOD85_021DAC58: ; 0x021DAC58
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
ldr r4, [r5, #0x18]
bl MOD85_021DA7B8
str r0, [sp]
add r0, r5, #0
add r0, #0x88
ldr r0, [r0]
ldr r1, _021DACA8 ; =0x021DFCF4
lsl r0, r0, #3
add r6, r1, r0
ldr r0, [r5, #0x28]
cmp r0, #2
bne _021DAC7C
sub r4, #0xa
b _021DAC9A
_021DAC7C:
ldr r0, [r6]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DAC8C
sub r4, #0xa
b _021DAC9A
_021DAC8C:
ldr r0, [r6, #4]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DAC9A
sub r4, r4, #5
_021DAC9A:
cmp r4, #0
bge _021DACA0
mov r4, #0
_021DACA0:
str r4, [r5, #0x18]
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_021DACA8: .word MOD85_021DFCF4
thumb_func_end MOD85_021DAC58
thumb_func_start MOD85_021DACAC
MOD85_021DACAC: ; 0x021DACAC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x18]
bl MOD85_021DA7B8
str r0, [sp]
add r5, #0x88
ldr r1, [r5]
mov r0, #0x90
mul r0, r1
ldr r2, _021DAD08 ; =0x021E0240
mov r1, #0
add r5, r2, r0
add r2, r5, #0
_021DACC8:
ldr r0, [r2]
cmp r4, r0
blo _021DACF8
lsl r4, r1, #4
add r0, r5, r4
ldr r0, [r0, #4]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DACE2
mov r0, #1
pop {r3, r4, r5, pc}
_021DACE2:
add r0, r5, r4
ldr r0, [r0, #8]
add r1, sp, #0
bl MOD85_021DA7C8
cmp r0, #1
bne _021DACF4
mov r0, #0
pop {r3, r4, r5, pc}
_021DACF4:
mov r0, #2
pop {r3, r4, r5, pc}
_021DACF8:
add r1, r1, #1
add r2, #0x10
cmp r1, #9
blt _021DACC8
bl GF_AssertFail
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_021DAD08: .word MOD85_021E0240
thumb_func_end MOD85_021DACAC
thumb_func_start MOD85_021DAD0C
MOD85_021DAD0C: ; 0x021DAD0C
push {r4, lr}
add r4, r0, #0
bl LCRandom
mov r1, #6
bl _s32_div_f
str r1, [r4, #0x34]
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DAD0C
thumb_func_start MOD85_021DAD20
MOD85_021DAD20: ; 0x021DAD20
push {r4, lr}
mov r1, #0x12
lsl r1, r1, #4
add r4, r0, r1
mov r1, #0
str r1, [r4]
str r1, [r4, #4]
str r0, [r4, #0xc]
ldr r0, _021DAD40 ; =MOD85_021DAD70
add r1, r4, #0
mov r2, #0x8a
bl FUN_0200CA44
str r0, [r4, #0x10]
pop {r4, pc}
nop
_021DAD40: .word MOD85_021DAD70
thumb_func_end MOD85_021DAD20
thumb_func_start MOD85_021DAD44
MOD85_021DAD44: ; 0x021DAD44
mov r1, #0x13
lsl r1, r1, #4
ldr r3, _021DAD50 ; =FUN_0200CAB4
ldr r0, [r0, r1]
bx r3
nop
_021DAD50: .word FUN_0200CAB4
thumb_func_end MOD85_021DAD44
thumb_func_start MOD85_021DAD54
MOD85_021DAD54: ; 0x021DAD54
mov r1, #0x49
lsl r1, r1, #2
mov r3, #0
str r3, [r0, r1]
add r2, r1, #4
str r3, [r0, r2]
mov r2, #1
sub r1, r1, #4
str r2, [r0, r1]
bx lr
thumb_func_end MOD85_021DAD54
thumb_func_start MOD85_021DAD68
MOD85_021DAD68: ; 0x021DAD68
mov r1, #0x49
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end MOD85_021DAD68
thumb_func_start MOD85_021DAD70
MOD85_021DAD70: ; 0x021DAD70
push {r3, r4, r5, lr}
add r5, r1, #0
ldr r0, [r5]
ldr r4, [r5, #0xc]
cmp r0, #3
bhi _021DAE5E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021DAD88: ; jump table
.short _021DAE5E - _021DAD88 - 2 ; case 0
.short _021DAD90 - _021DAD88 - 2 ; case 1
.short _021DAD9E - _021DAD88 - 2 ; case 2
.short _021DADC0 - _021DAD88 - 2 ; case 3
_021DAD90:
add r0, r5, #0
bl MOD85_021DAE70
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
pop {r3, r4, r5, pc}
_021DAD9E:
ldr r0, [r5, #0x14]
cmp r0, #0
beq _021DADAC
bl MOD85_021DB7B8
cmp r0, #1
bne _021DAE5E
_021DADAC:
ldr r0, [r5, #0x18]
cmp r0, #0
beq _021DADBA
bl MOD85_021DB7B8
cmp r0, #1
bne _021DAE5E
_021DADBA:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
_021DADC0:
mov r0, #1
lsl r0, r0, #0xa
bl MOD85_021DBD54
cmp r0, #0
bne _021DADD2
ldr r0, [r4, #0x64]
cmp r0, #0
bne _021DAE20
_021DADD2:
ldr r0, _021DAE60 ; =0x0000062D
bl PlaySE
ldr r1, [r4, #0x60]
ldr r0, [r4, #0x64]
add r1, r1, r0
ldr r0, _021DAE64 ; =0x0000C350
str r1, [r4, #0x60]
cmp r1, r0
blt _021DADE8
str r0, [r4, #0x60]
_021DADE8:
ldr r0, [r4, #8]
cmp r0, #1
bne _021DADF6
ldr r1, [r4, #0x14]
ldr r0, [r4, #0x64]
add r0, r1, r0
str r0, [r4, #0x14]
_021DADF6:
mov r0, #0
str r0, [r4, #0x64]
ldr r0, [r5, #0x14]
cmp r0, #0
beq _021DAE08
bl FUN_02064520
mov r0, #0
str r0, [r5, #0x14]
_021DAE08:
ldr r0, [r5, #0x18]
cmp r0, #0
beq _021DAE16
bl FUN_02064520
mov r0, #0
str r0, [r5, #0x18]
_021DAE16:
mov r0, #1
str r0, [r5, #4]
mov r0, #0
str r0, [r5]
pop {r3, r4, r5, pc}
_021DAE20:
ldr r1, _021DAE68 ; =gMain
mov r0, #3
ldr r2, [r1, #0x44]
ldr r1, _021DAE6C ; =0x00000C03
tst r1, r2
beq _021DAE2E
mov r0, #1
_021DAE2E:
ldr r1, [r5, #8]
add r1, r1, #1
str r1, [r5, #8]
tst r0, r1
bne _021DAE5E
ldr r0, [r4, #0x64]
sub r0, r0, #1
str r0, [r4, #0x64]
ldr r0, [r4, #0x60]
add r1, r0, #1
ldr r0, _021DAE64 ; =0x0000C350
str r1, [r4, #0x60]
cmp r1, r0
blt _021DAE4C
str r0, [r4, #0x60]
_021DAE4C:
ldr r0, _021DAE60 ; =0x0000062D
bl PlaySE
ldr r0, [r4, #8]
cmp r0, #1
bne _021DAE5E
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
_021DAE5E:
pop {r3, r4, r5, pc}
.align 2, 0
_021DAE60: .word 0x0000062D
_021DAE64: .word 0x0000C350
_021DAE68: .word gMain
_021DAE6C: .word 0x00000C03
thumb_func_end MOD85_021DAD70
thumb_func_start MOD85_021DAE70
MOD85_021DAE70: ; 0x021DAE70
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r7, [r5, #0xc]
ldr r6, [r7, #0x48]
cmp r6, #0
bne _021DAE80
bl GF_AssertFail
_021DAE80:
mov r4, #0
_021DAE82:
mov r0, #1
tst r0, r6
beq _021DAEB4
ldr r0, [r5, #0x14]
cmp r0, #0
bne _021DAE9C
ldr r2, [r7, #0x64]
add r0, r7, #0
add r1, r4, #0
bl MOD85_021DB784
str r0, [r5, #0x14]
b _021DAEB4
_021DAE9C:
ldr r0, [r5, #0x18]
cmp r0, #0
bne _021DAEB0
ldr r2, [r7, #0x64]
add r0, r7, #0
add r1, r4, #0
bl MOD85_021DB784
str r0, [r5, #0x18]
b _021DAEB4
_021DAEB0:
bl GF_AssertFail
_021DAEB4:
add r4, r4, #1
lsr r6, r6, #1
cmp r4, #5
blt _021DAE82
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DAE70
thumb_func_start MOD85_021DAEC0
MOD85_021DAEC0: ; 0x021DAEC0
push {r4, lr}
mov r1, #0x4f
lsl r1, r1, #2
add r4, r0, r1
mov r1, #0
str r1, [r4]
str r1, [r4, #4]
str r0, [r4, #0x20]
ldr r0, _021DAEE0 ; =MOD85_021DAF80
add r1, r4, #0
mov r2, #0x84
bl FUN_0200CA44
str r0, [r4, #0x24]
pop {r4, pc}
nop
_021DAEE0: .word MOD85_021DAF80
thumb_func_end MOD85_021DAEC0
thumb_func_start MOD85_021DAEE4
MOD85_021DAEE4: ; 0x021DAEE4
mov r1, #0x16
lsl r1, r1, #4
ldr r3, _021DAEF0 ; =FUN_0200CAB4
ldr r0, [r0, r1]
bx r3
nop
_021DAEF0: .word FUN_0200CAB4
thumb_func_end MOD85_021DAEE4
thumb_func_start MOD85_021DAEF4
MOD85_021DAEF4: ; 0x021DAEF4
mov r2, #0x4f
lsl r2, r2, #2
add r2, r0, r2
str r1, [r2]
mov r0, #0
str r0, [r2, #4]
str r0, [r2, #8]
str r0, [r2, #0x10]
bx lr
.align 2, 0
thumb_func_end MOD85_021DAEF4
thumb_func_start MOD85_021DAF08
MOD85_021DAF08: ; 0x021DAF08
mov r1, #0x51
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end MOD85_021DAF08
thumb_func_start MOD85_021DAF10
MOD85_021DAF10: ; 0x021DAF10
push {r4, lr}
mov r1, #0x52
add r4, r0, #0
mov r2, #0
lsl r1, r1, #2
str r2, [r4, r1]
bl MOD85_021DD984
mov r1, #0x5d
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r4, #0
bl MOD85_021DDB10
mov r1, #0x5e
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r4, #0
bl MOD85_021DDCAC
mov r1, #0x5f
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r4, #0
bl MOD85_021DDE10
mov r1, #6
lsl r1, r1, #6
str r0, [r4, r1]
pop {r4, pc}
thumb_func_end MOD85_021DAF10
thumb_func_start MOD85_021DAF4C
MOD85_021DAF4C: ; 0x021DAF4C
push {r4, lr}
add r4, r0, #0
mov r0, #0x52
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
ldr r0, [r4, r0]
bl FUN_02064520
mov r0, #0x5e
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FUN_02064520
mov r0, #0x5f
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FUN_02064520
mov r0, #6
lsl r0, r0, #6
ldr r0, [r4, r0]
bl FUN_02064520
pop {r4, pc}
thumb_func_end MOD85_021DAF4C
thumb_func_start MOD85_021DAF80
MOD85_021DAF80: ; 0x021DAF80
push {r3, r4, r5, lr}
ldr r4, _021DAF9C ; =0x021DEED0
add r5, r1, #0
_021DAF86:
ldr r1, [r5]
add r0, r5, #0
lsl r1, r1, #2
ldr r2, [r4, r1]
ldr r1, [r5, #4]
lsl r1, r1, #2
ldr r1, [r2, r1]
blx r1
cmp r0, #1
beq _021DAF86
pop {r3, r4, r5, pc}
.align 2, 0
_021DAF9C: .word MOD85_021DEED0
thumb_func_end MOD85_021DAF80
thumb_func_start MOD85_021DAFA0
MOD85_021DAFA0: ; 0x021DAFA0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
ldr r1, [r4, #0x18]
bl MOD85_021DC4B4
str r0, [r4, #0x28]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DAFA0
thumb_func_start MOD85_021DAFB8
MOD85_021DAFB8: ; 0x021DAFB8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #0
bne _021DAFCA
mov r0, #0
pop {r4, pc}
_021DAFCA:
ldr r0, [r4, #0x28]
mov r1, #1
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DAFB8
thumb_func_start MOD85_021DAFDC
MOD85_021DAFDC: ; 0x021DAFDC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #0
bne _021DAFEE
mov r0, #0
pop {r4, pc}
_021DAFEE:
ldr r0, [r4, #0x28]
mov r1, #5
bl MOD85_021DC4EC
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DAFDC
thumb_func_start MOD85_021DB004
MOD85_021DB004: ; 0x021DB004
mov r0, #0
bx lr
thumb_func_end MOD85_021DB004
thumb_func_start MOD85_021DB008
MOD85_021DB008: ; 0x021DB008
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
mov r1, #4
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB008
thumb_func_start MOD85_021DB020
MOD85_021DB020: ; 0x021DB020
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB03E
ldr r0, [r4, #0x28]
bl FUN_02064520
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB03E:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB020
thumb_func_start MOD85_021DB044
MOD85_021DB044: ; 0x021DB044
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
mov r1, #2
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB044
thumb_func_start MOD85_021DB05C
MOD85_021DB05C: ; 0x021DB05C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB082
ldr r0, [r4, #0x20]
bl MOD85_021DCBE0
str r0, [r4, #0x2c]
ldr r0, [r4, #0x20]
ldr r1, [r4, #0x1c]
bl MOD85_021DCEC0
str r0, [r4, #0x30]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB082:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB05C
thumb_func_start MOD85_021DB088
MOD85_021DB088: ; 0x021DB088
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB0AC
ldr r0, [r4, #0x30]
mov r1, #1
bl MOD85_021DCEF8
ldr r0, [r4, #0x28]
mov r1, #1
bl MOD85_021DC500
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB0AC:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB088
thumb_func_start MOD85_021DB0B0
MOD85_021DB0B0: ; 0x021DB0B0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB0CE
ldr r0, [r4, #0x2c]
bl FUN_02064520
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB0CE:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB0B0
thumb_func_start MOD85_021DB0D4
MOD85_021DB0D4: ; 0x021DB0D4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
bl MOD85_021DCBE0
str r0, [r4, #0x2c]
ldr r0, [r4, #0x30]
mov r1, #2
bl MOD85_021DCEF8
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB0D4
thumb_func_start MOD85_021DB0F4
MOD85_021DB0F4: ; 0x021DB0F4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB124
ldr r0, [r4, #0x30]
bl FUN_02064520
ldr r0, [r4, #0x2c]
bl FUN_02064520
ldr r0, [r4, #0x28]
mov r1, #0
bl MOD85_021DC500
ldr r0, [r4, #0x28]
mov r1, #3
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB124:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB0F4
thumb_func_start MOD85_021DB128
MOD85_021DB128: ; 0x021DB128
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB144
ldr r0, [r4, #0x28]
mov r1, #4
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB144:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB128
thumb_func_start MOD85_021DB148
MOD85_021DB148: ; 0x021DB148
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB166
ldr r0, [r4, #0x28]
bl FUN_02064520
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB166:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB148
thumb_func_start MOD85_021DB16C
MOD85_021DB16C: ; 0x021DB16C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
mov r1, #3
bl MOD85_021DCEF8
ldr r0, [r4, #0x20]
bl MOD85_021DD54C
str r0, [r4, #0x34]
mov r0, #0
str r0, [r4, #0x10]
ldr r1, [r4, #4]
add r1, r1, #1
str r1, [r4, #4]
pop {r4, pc}
thumb_func_end MOD85_021DB16C
thumb_func_start MOD85_021DB18C
MOD85_021DB18C: ; 0x021DB18C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
add r0, r0, #1
str r0, [r4, #0x10]
cmp r0, #0x30
blt _021DB1B2
mov r0, #0
str r0, [r4, #0x10]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0x23
bl FUN_02005578
ldr r0, [r4, #0x30]
mov r1, #4
bl MOD85_021DCEF8
_021DB1B2:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB18C
thumb_func_start MOD85_021DB1B8
MOD85_021DB1B8: ; 0x021DB1B8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl MOD85_021DD578
cmp r0, #1
bne _021DB1E2
ldr r0, [r4, #0x30]
mov r1, #3
bl MOD85_021DCEF8
ldr r0, [r4, #0x34]
bl FUN_02064520
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
str r0, [r4, #0x10]
mov r0, #1
str r0, [r4, #8]
_021DB1E2:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB1B8
thumb_func_start MOD85_021DB1E8
MOD85_021DB1E8: ; 0x021DB1E8
push {r3, lr}
ldr r1, [r0, #0x20]
ldr r3, _021DB210 ; =0x021DEF04
ldr r2, [r1, #0x34]
mov r1, #0x18
mul r1, r2
add r2, r3, r1
ldr r1, [r0, #4]
add r1, r1, #1
str r1, [r0, #4]
mov r1, #0
str r1, [r0, #0x14]
lsl r1, r1, #2
add r1, r2, r1
ldr r0, [r0, #0x30]
ldr r1, [r1, #0xc]
bl MOD85_021DCEF8
mov r0, #0
pop {r3, pc}
.align 2, 0
_021DB210: .word MOD85_021DEF04
thumb_func_end MOD85_021DB1E8
thumb_func_start MOD85_021DB214
MOD85_021DB214: ; 0x021DB214
push {r3, r4, r5, lr}
ldr r2, [r0, #0x20]
mov r1, #0
add r4, r1, #0
add r5, r2, #0
_021DB21E:
ldr r3, [r5, #0x7c]
cmp r3, #1
beq _021DB226
add r1, r1, #1
_021DB226:
add r4, r4, #1
add r5, r5, #4
cmp r4, #3
blt _021DB21E
ldr r3, [r0, #0x14]
cmp r3, #2
bge _021DB250
cmp r3, r1
beq _021DB250
ldr r3, [r2, #0x34]
mov r2, #0x18
ldr r4, _021DB254 ; =0x021DEF04
str r1, [r0, #0x14]
mul r2, r3
add r2, r4, r2
lsl r1, r1, #2
add r1, r2, r1
ldr r0, [r0, #0x30]
ldr r1, [r1, #0xc]
bl MOD85_021DCEF8
_021DB250:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_021DB254: .word MOD85_021DEF04
thumb_func_end MOD85_021DB214
thumb_func_start MOD85_021DB258
MOD85_021DB258: ; 0x021DB258
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
mov r1, #3
bl MOD85_021DCEF8
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB258
thumb_func_start MOD85_021DB270
MOD85_021DB270: ; 0x021DB270
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
bl MOD85_021DAF4C
ldr r0, [r4, #0x20]
bl MOD85_021DCBE0
str r0, [r4, #0x2c]
ldr r0, [r4, #0x30]
mov r1, #2
bl MOD85_021DCEF8
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB270
thumb_func_start MOD85_021DB294
MOD85_021DB294: ; 0x021DB294
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB2C4
ldr r0, [r4, #0x30]
bl FUN_02064520
ldr r0, [r4, #0x2c]
bl FUN_02064520
ldr r0, [r4, #0x28]
mov r1, #0
bl MOD85_021DC500
ldr r0, [r4, #0x28]
mov r1, #3
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB2C4:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB294
thumb_func_start MOD85_021DB2C8
MOD85_021DB2C8: ; 0x021DB2C8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB2F8
ldr r0, [r4, #0x20]
bl MOD85_021DDA30
ldr r0, [r4, #0x20]
bl MOD85_021DDBBC
ldr r0, [r4, #0x20]
mov r1, #0
bl MOD85_021DDF40
ldr r0, [r4, #0x20]
mov r1, #1
bl MOD85_021DDF40
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB2F8:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB2C8
thumb_func_start MOD85_021DB2FC
MOD85_021DB2FC: ; 0x021DB2FC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
add r0, r0, #1
str r0, [r4, #0x10]
cmp r0, #0x2d
blt _021DB31C
mov r0, #0
str r0, [r4, #0x10]
ldr r0, [r4, #0x28]
mov r1, #4
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB31C:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB2FC
thumb_func_start MOD85_021DB320
MOD85_021DB320: ; 0x021DB320
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB33E
ldr r0, [r4, #0x28]
bl FUN_02064520
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB33E:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB320
thumb_func_start MOD85_021DB344
MOD85_021DB344: ; 0x021DB344
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
mov r1, #4
bl MOD85_021DCEF8
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB344
thumb_func_start MOD85_021DB360
MOD85_021DB360: ; 0x021DB360
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
mov r1, #8
bl MOD85_021DCEF8
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB360
thumb_func_start MOD85_021DB37C
MOD85_021DB37C: ; 0x021DB37C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
mov r1, #6
bl MOD85_021DC4EC
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #1
str r0, [r4, #8]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB37C
thumb_func_start MOD85_021DB398
MOD85_021DB398: ; 0x021DB398
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
bl MOD85_021DCBE0
str r0, [r4, #0x2c]
ldr r0, [r4, #0x30]
mov r1, #2
bl MOD85_021DCEF8
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB398
thumb_func_start MOD85_021DB3BC
MOD85_021DB3BC: ; 0x021DB3BC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB3F0
ldr r0, [r4, #0x2c]
bl FUN_02064520
ldr r0, [r4, #0x30]
bl FUN_02064520
ldr r0, [r4, #0x28]
mov r1, #0
bl MOD85_021DC500
ldr r0, [r4, #0x28]
mov r1, #3
bl MOD85_021DC4EC
mov r0, #0
str r0, [r4, #0x10]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB3F0:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB3BC
thumb_func_start MOD85_021DB3F4
MOD85_021DB3F4: ; 0x021DB3F4
push {r3, lr}
ldr r1, [r0, #0x10]
add r1, r1, #1
str r1, [r0, #0x10]
cmp r1, #0x1e
blt _021DB412
mov r1, #0
str r1, [r0, #0x10]
ldr r1, [r0, #4]
add r1, r1, #1
str r1, [r0, #4]
ldr r0, [r0, #0x28]
mov r1, #2
bl MOD85_021DC4EC
_021DB412:
mov r0, #0
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DB3F4
thumb_func_start MOD85_021DB418
MOD85_021DB418: ; 0x021DB418
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl MOD85_021DC520
cmp r0, #1
bne _021DB442
ldr r0, [r4, #0x20]
bl MOD85_021DCBE0
str r0, [r4, #0x2c]
ldr r0, [r4, #0x20]
ldr r1, [r4, #0x1c]
bl MOD85_021DCEC0
str r0, [r4, #0x30]
mov r0, #0
str r0, [r4, #0xc]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB442:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB418
thumb_func_start MOD85_021DB448
MOD85_021DB448: ; 0x021DB448
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB46C
ldr r0, [r4, #0x30]
mov r1, #1
bl MOD85_021DCEF8
ldr r0, [r4, #0x28]
mov r1, #1
bl MOD85_021DC500
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB46C:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DB448
thumb_func_start MOD85_021DB470
MOD85_021DB470: ; 0x021DB470
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
bl MOD85_021DCF0C
cmp r0, #1
bne _021DB48E
ldr r0, [r4, #0x2c]
bl FUN_02064520
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DB48E:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB470
thumb_func_start MOD85_021DB494
MOD85_021DB494: ; 0x021DB494
push {r3, r4, r5, r6, lr}
sub sp, #4
mov r1, #0x61
add r5, r0, #0
lsl r1, r1, #2
add r4, r5, r1
mov r1, #3
mov r2, #0
str r5, [r4]
bl MOD85_021D8144
add r1, sp, #0
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
ldr r0, [sp]
mov r1, #1
add r2, r4, #4
bl MOD85_021DB604
add r2, r4, #0
ldr r0, [sp]
mov r1, #2
add r2, #0xa4
bl MOD85_021DB604
add r2, r4, #0
ldr r0, [sp]
mov r1, #3
add r2, #0xc4
bl MOD85_021DB604
add r2, r4, #0
ldr r0, [sp]
mov r1, #3
add r2, #0xe4
bl MOD85_021DB604
mov r2, #0x41
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #4
add r2, r4, r2
bl MOD85_021DB604
mov r2, #0x49
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #4
add r2, r4, r2
bl MOD85_021DB604
add r0, r6, #0
bl FreeToHeap
add r0, r5, #0
mov r1, #5
mov r2, #0
bl MOD85_021D8144
add r1, sp, #0
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
add r2, r4, #0
ldr r0, [sp]
mov r1, #0
add r2, #0x24
bl MOD85_021DB604
add r0, r6, #0
bl FreeToHeap
add r0, r5, #0
mov r1, #6
mov r2, #0
bl MOD85_021D8144
add r1, sp, #0
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
add r2, r4, #0
ldr r0, [sp]
mov r1, #0
add r2, #0x44
bl MOD85_021DB604
add r0, r6, #0
bl FreeToHeap
add r0, r5, #0
mov r1, #7
mov r2, #0
bl MOD85_021D8144
add r1, sp, #0
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
add r2, r4, #0
ldr r0, [sp]
mov r1, #0
add r2, #0x64
bl MOD85_021DB604
add r0, r6, #0
bl FreeToHeap
add r0, r5, #0
mov r1, #0x4a
mov r2, #0
bl MOD85_021D8144
add r1, sp, #0
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
mov r2, #0x51
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #0
add r2, r4, r2
bl MOD85_021DB604
add r0, r6, #0
bl FreeToHeap
add r0, r5, #0
mov r1, #0x4b
mov r2, #0
bl MOD85_021D8144
add r1, sp, #0
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
mov r2, #0x59
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #0
add r2, r4, r2
bl MOD85_021DB604
mov r2, #0x61
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #0
add r2, r4, r2
bl MOD85_021DB604
add r0, r6, #0
bl FreeToHeap
add r0, r5, #0
mov r1, #0x4c
mov r2, #0
bl MOD85_021D8144
add r1, sp, #0
add r5, r0, #0
bl NNS_G2dGetUnpackedPaletteData
mov r2, #0x69
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #0
add r2, r4, r2
bl MOD85_021DB604
mov r2, #0x71
lsl r2, r2, #2
ldr r0, [sp]
mov r1, #0
add r2, r4, r2
bl MOD85_021DB604
add r0, r5, #0
bl FreeToHeap
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end MOD85_021DB494
thumb_func_start MOD85_021DB600
MOD85_021DB600: ; 0x021DB600
bx lr
.align 2, 0
thumb_func_end MOD85_021DB600
thumb_func_start MOD85_021DB604
MOD85_021DB604: ; 0x021DB604
ldr r3, [r0, #0xc]
lsl r0, r1, #5
add r3, r3, r0
mov r1, #0
_021DB60C:
ldrh r0, [r3]
add r1, r1, #1
add r3, r3, #2
strh r0, [r2]
add r2, r2, #2
cmp r1, #0x10
blt _021DB60C
bx lr
thumb_func_end MOD85_021DB604
thumb_func_start MOD85_021DB61C
MOD85_021DB61C: ; 0x021DB61C
push {r0, r1, r2, r3}
push {r3, r4, r5, r6}
add r1, r2, #0
add r0, r3, #0
add r2, sp, #0x10
add r3, sp, #0x14
cmp r1, #0x10
bls _021DB62E
mov r1, #0x10
_021DB62E:
ldrh r4, [r2]
ldrh r3, [r3]
lsl r2, r4, #0x16
lsr r6, r2, #0x1b
lsl r2, r4, #0x1b
lsr r5, r2, #0x1b
lsl r2, r4, #0x11
lsl r4, r3, #0x11
lsr r2, r2, #0x1b
lsr r4, r4, #0x1b
sub r4, r4, r2
mul r4, r1
asr r4, r4, #4
add r2, r2, r4
lsl r4, r2, #0xa
lsl r2, r3, #0x1b
lsl r3, r3, #0x16
lsr r3, r3, #0x1b
lsr r2, r2, #0x1b
sub r3, r3, r6
sub r2, r2, r5
mul r2, r1
mul r3, r1
asr r1, r3, #4
asr r2, r2, #4
add r1, r6, r1
add r2, r5, r2
lsl r1, r1, #5
orr r1, r2
orr r1, r4
strh r1, [r0]
pop {r3, r4, r5, r6}
add sp, #0x10
bx lr
.align 2, 0
thumb_func_end MOD85_021DB61C
thumb_func_start MOD85_021DB674
MOD85_021DB674: ; 0x021DB674
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
str r2, [sp]
add r6, r3, #0
mov r7, #0
_021DB680:
ldrh r0, [r5]
ldrh r1, [r4]
ldr r2, [sp]
add r3, r6, #0
bl MOD85_021DB61C
add r7, r7, #1
add r6, r6, #2
add r4, r4, #2
add r5, r5, #2
cmp r7, #0x10
blt _021DB680
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DB674
thumb_func_start MOD85_021DB69C
MOD85_021DB69C: ; 0x021DB69C
push {r4, lr}
add r4, r2, #0
lsl r0, r1, #0x18
add r1, r3, #0
lsl r3, r4, #0x15
lsr r0, r0, #0x18
mov r2, #0x20
lsr r3, r3, #0x10
bl BG_LoadPlttData
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB69C
thumb_func_start MOD85_021DB6B4
MOD85_021DB6B4: ; 0x021DB6B4
push {r4, lr}
add r3, r1, #0
lsl r4, r3, #2
ldr r2, _021DB6D0 ; =0x021E05C0
lsl r3, r3, #5
ldr r2, [r2, r4]
mov r4, #0x8a
lsl r4, r4, #2
add r4, r0, r4
mov r1, #1
add r3, r4, r3
bl MOD85_021DB69C
pop {r4, pc}
.align 2, 0
_021DB6D0: .word MOD85_021E05C0
thumb_func_end MOD85_021DB6B4
thumb_func_start MOD85_021DB6D4
MOD85_021DB6D4: ; 0x021DB6D4
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r2, #0x61
lsl r2, r2, #2
ldr r0, _021DB710 ; =0x021E05C0
lsl r4, r1, #2
ldr r6, [r0, r4]
add r0, r2, #0
add r3, r7, r2
add r0, #0x60
add r4, r3, r0
add r0, r3, #0
sub r2, #0x40
lsl r5, r1, #5
add r1, r3, r2
add r0, #0xa4
add r0, r0, r5
add r1, r1, r5
mov r2, #0xa
add r3, r4, r5
bl MOD85_021DB674
add r0, r7, #0
mov r1, #1
add r2, r6, #0
add r3, r4, r5
bl MOD85_021DB69C
pop {r3, r4, r5, r6, r7, pc}
nop
_021DB710: .word MOD85_021E05C0
thumb_func_end MOD85_021DB6D4
thumb_func_start MOD85_021DB714
MOD85_021DB714: ; 0x021DB714
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r2, #0x61
lsl r2, r2, #2
ldr r0, _021DB750 ; =0x021E05C0
lsl r4, r1, #2
ldr r6, [r0, r4]
add r0, r2, #0
add r3, r7, r2
add r0, #0x60
add r4, r3, r0
add r0, r3, #0
sub r2, #0x40
lsl r5, r1, #5
add r1, r3, r2
add r0, #0xa4
add r0, r0, r5
add r1, r1, r5
mov r2, #0xc
add r3, r4, r5
bl MOD85_021DB674
add r0, r7, #0
mov r1, #1
add r2, r6, #0
add r3, r4, r5
bl MOD85_021DB69C
pop {r3, r4, r5, r6, r7, pc}
nop
_021DB750: .word MOD85_021E05C0
thumb_func_end MOD85_021DB714
thumb_func_start MOD85_021DB754
MOD85_021DB754: ; 0x021DB754
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021DB75A:
add r0, r5, #0
add r1, r4, #0
bl MOD85_021DB6B4
add r4, r4, #1
cmp r4, #5
blt _021DB75A
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DB754
thumb_func_start MOD85_021DB76C
MOD85_021DB76C: ; 0x021DB76C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021DB772:
add r0, r5, #0
add r1, r4, #0
bl MOD85_021DB6D4
add r4, r4, #1
cmp r4, #5
blt _021DB772
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DB76C
thumb_func_start MOD85_021DB784
MOD85_021DB784: ; 0x021DB784
push {r4, lr}
sub sp, #0x20
add r4, sp, #0x14
mov r3, #0
str r3, [r4]
str r3, [r4, #4]
str r1, [sp, #8]
str r2, [sp, #0xc]
str r3, [r4, #8]
str r0, [sp, #0x10]
add r1, sp, #8
str r1, [sp]
mov r1, #0x8f
str r1, [sp, #4]
ldr r1, _021DB7B0 ; =0x0000044C
add r2, r4, #0
ldr r0, [r0, r1]
ldr r1, _021DB7B4 ; =0x021DEE0C
bl FUN_020644E4
add sp, #0x20
pop {r4, pc}
.align 2, 0
_021DB7B0: .word 0x0000044C
_021DB7B4: .word MOD85_021DEE0C
thumb_func_end MOD85_021DB784
thumb_func_start MOD85_021DB7B8
MOD85_021DB7B8: ; 0x021DB7B8
push {r3, lr}
bl FUN_02064738
ldr r0, [r0, #0xc]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DB7B8
thumb_func_start MOD85_021DB7C4
MOD85_021DB7C4: ; 0x021DB7C4
push {r4, lr}
add r4, r1, #0
bl FUN_0206475C
ldr r1, [r0, #8]
str r1, [r4, #0x1c]
ldr r1, [r0]
str r1, [r4, #0x10]
ldr r0, [r0, #4]
str r0, [r4, #0x14]
mov r0, #0x61
ldr r1, [r4, #0x1c]
lsl r0, r0, #2
add r0, r1, r0
str r0, [r4, #0x20]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB7C4
thumb_func_start MOD85_021DB7E8
MOD85_021DB7E8: ; 0x021DB7E8
ldr r3, _021DB7F0 ; =MOD85_021DB6B4
ldr r0, [r1, #0x1c]
ldr r1, [r1, #0x10]
bx r3
.align 2, 0
_021DB7F0: .word MOD85_021DB6B4
thumb_func_end MOD85_021DB7E8
thumb_func_start MOD85_021DB7F4
MOD85_021DB7F4: ; 0x021DB7F4
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldr r2, [r4, #0x10]
ldr r0, _021DB958 ; =0x021E05C0
lsl r1, r2, #2
ldr r0, [r0, r1]
lsl r5, r2, #5
mov r1, #0x79
ldr r2, [r4, #0x20]
lsl r1, r1, #2
add r6, r2, r1
sub r1, #0xa0
str r0, [sp]
add r0, r2, #0
add r1, r2, r1
ldr r2, [r4]
add r0, #0xa4
cmp r2, #4
bls _021DB81C
b _021DB956
_021DB81C:
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_021DB828: ; jump table
.short _021DB832 - _021DB828 - 2 ; case 0
.short _021DB874 - _021DB828 - 2 ; case 1
.short _021DB8D8 - _021DB828 - 2 ; case 2
.short _021DB91A - _021DB828 - 2 ; case 3
.short _021DB956 - _021DB828 - 2 ; case 4
_021DB832:
mov r7, #1
ldr r2, [r4, #0x18]
lsl r7, r7, #0xe
add r3, r2, r7
lsl r2, r7, #2
str r3, [r4, #0x18]
cmp r3, r2
ble _021DB844
str r2, [r4, #0x18]
_021DB844:
ldr r2, [r4, #0x18]
asr r3, r2, #0xb
lsr r3, r3, #0x14
add r3, r2, r3
asr r2, r3, #0xc
cmp r2, #0x10
bne _021DB858
ldr r3, [r4]
add r3, r3, #1
str r3, [r4]
_021DB858:
lsl r2, r2, #0x10
add r0, r0, r5
add r1, r1, r5
lsr r2, r2, #0x10
add r3, r6, r5
bl MOD85_021DB674
ldr r0, [r4, #0x1c]
ldr r2, [sp]
mov r1, #1
add r3, r6, r5
bl MOD85_021DB69C
pop {r3, r4, r5, r6, r7, pc}
_021DB874:
mov r2, #1
ldr r3, [r4, #0x18]
lsl r2, r2, #0xe
sub r2, r3, r2
str r2, [r4, #0x18]
bpl _021DB884
mov r2, #0
str r2, [r4, #0x18]
_021DB884:
ldr r2, [r4, #0x18]
asr r3, r2, #0xb
lsr r3, r3, #0x14
add r3, r2, r3
asr r2, r3, #0xc
bne _021DB8BC
ldr r3, [r4, #4]
add r3, r3, #1
str r3, [r4, #4]
cmp r3, #4
blt _021DB8B6
ldr r3, [r4, #0x14]
cmp r3, #0
beq _021DB8AC
ldr r3, [r4]
add r3, r3, #1
str r3, [r4]
mov r3, #1
str r3, [r4, #0xc]
b _021DB8BC
_021DB8AC:
mov r3, #4
str r3, [r4]
mov r3, #1
str r3, [r4, #0xc]
b _021DB8BC
_021DB8B6:
ldr r3, [r4]
sub r3, r3, #1
str r3, [r4]
_021DB8BC:
lsl r2, r2, #0x10
add r0, r0, r5
add r1, r1, r5
lsr r2, r2, #0x10
add r3, r6, r5
bl MOD85_021DB674
ldr r0, [r4, #0x1c]
ldr r2, [sp]
mov r1, #1
add r3, r6, r5
bl MOD85_021DB69C
pop {r3, r4, r5, r6, r7, pc}
_021DB8D8:
mov r7, #2
ldr r2, [r4, #0x18]
lsl r7, r7, #0xe
add r3, r2, r7
lsl r2, r7, #1
str r3, [r4, #0x18]
cmp r3, r2
ble _021DB8EA
str r2, [r4, #0x18]
_021DB8EA:
ldr r2, [r4, #0x18]
asr r3, r2, #0xb
lsr r3, r3, #0x14
add r3, r2, r3
asr r2, r3, #0xc
cmp r2, #0x10
bne _021DB8FE
ldr r3, [r4]
add r3, r3, #1
str r3, [r4]
_021DB8FE:
lsl r2, r2, #0x10
add r0, r0, r5
add r1, r1, r5
lsr r2, r2, #0x10
add r3, r6, r5
bl MOD85_021DB674
ldr r0, [r4, #0x1c]
ldr r2, [sp]
mov r1, #1
add r3, r6, r5
bl MOD85_021DB69C
pop {r3, r4, r5, r6, r7, pc}
_021DB91A:
mov r2, #2
ldr r3, [r4, #0x18]
lsl r2, r2, #0xe
sub r2, r3, r2
str r2, [r4, #0x18]
bpl _021DB92A
mov r2, #0
str r2, [r4, #0x18]
_021DB92A:
ldr r2, [r4, #0x18]
asr r3, r2, #0xb
lsr r3, r3, #0x14
add r3, r2, r3
asr r2, r3, #0xc
bne _021DB93C
ldr r3, [r4]
sub r3, r3, #1
str r3, [r4]
_021DB93C:
lsl r2, r2, #0x10
add r0, r0, r5
add r1, r1, r5
lsr r2, r2, #0x10
add r3, r6, r5
bl MOD85_021DB674
ldr r0, [r4, #0x1c]
ldr r2, [sp]
mov r1, #1
add r3, r6, r5
bl MOD85_021DB69C
_021DB956:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DB958: .word MOD85_021E05C0
thumb_func_end MOD85_021DB7F4
thumb_func_start MOD85_021DB95C
MOD85_021DB95C: ; 0x021DB95C
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
add r1, sp, #8
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
mov r0, #0x4d
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _021DB97A
bl GF_AssertFail
_021DB97A:
str r4, [sp]
mov r0, #0x8f
str r0, [sp, #4]
ldr r0, _021DB998 ; =0x0000044C
ldr r1, _021DB99C ; =0x021DEE5C
ldr r0, [r4, r0]
add r2, sp, #8
mov r3, #0
bl FUN_020644E4
mov r1, #0x4d
lsl r1, r1, #2
str r0, [r4, r1]
add sp, #0x14
pop {r3, r4, pc}
.align 2, 0
_021DB998: .word 0x0000044C
_021DB99C: .word MOD85_021DEE5C
thumb_func_end MOD85_021DB95C
thumb_func_start MOD85_021DB9A0
MOD85_021DB9A0: ; 0x021DB9A0
push {r4, lr}
add r4, r0, #0
mov r0, #0x4d
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _021DB9BA
bl FUN_02064520
mov r0, #0x4d
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_021DB9BA:
add r0, r4, #0
bl MOD85_021DB754
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DB9A0
thumb_func_start MOD85_021DB9C4
MOD85_021DB9C4: ; 0x021DB9C4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r0, #0
ldr r0, [r6, #4]
ldr r1, _021DBADC ; =0x021DF094
lsl r0, r0, #4
add r4, r1, r0
mov r0, #1
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r0, _021DBAE0 ; =0x021E05C0
add r5, r6, #0
str r0, [sp]
mov r7, #0
_021DB9E0:
ldr r1, [r4]
ldr r0, [sp, #0xc]
tst r0, r1
beq _021DBA6C
ldr r0, [r6, #8]
cmp r0, #0
bne _021DB9F8
ldr r0, [r4, #4]
str r0, [r5, #0x14]
mov r0, #0
str r0, [sp, #8]
b _021DBA2C
_021DB9F8:
ldr r1, [r4, #4]
ldr r0, [r4, #8]
cmp r1, r0
ldr r1, [r5, #0x14]
bge _021DBA18
ldr r0, [r4, #0xc]
add r1, r1, r0
str r1, [r5, #0x14]
ldr r0, [r4, #8]
cmp r1, r0
blt _021DBA12
str r0, [r5, #0x14]
b _021DBA2C
_021DBA12:
mov r0, #0
str r0, [sp, #8]
b _021DBA2C
_021DBA18:
ldr r0, [r4, #0xc]
sub r1, r1, r0
str r1, [r5, #0x14]
ldr r0, [r4, #8]
cmp r1, r0
bgt _021DBA28
str r0, [r5, #0x14]
b _021DBA2C
_021DBA28:
mov r0, #0
str r0, [sp, #8]
_021DBA2C:
ldr r0, [sp]
mov r2, #0x51
ldr r0, [r0]
ldr r1, [r6, #0x2c]
str r0, [sp, #4]
mov r0, #0x79
lsl r0, r0, #2
add r0, r1, r0
str r0, [sp, #0x10]
add r0, r1, #0
lsl r2, r2, #2
add r1, r1, r2
ldr r3, [r5, #0x14]
add r0, #0xa4
asr r2, r3, #0xb
lsr r2, r2, #0x14
add r2, r3, r2
ldr r3, [sp, #0x10]
lsl r2, r2, #4
add r0, r0, r7
add r1, r1, r7
lsr r2, r2, #0x10
add r3, r3, r7
bl MOD85_021DB674
ldr r3, [sp, #0x10]
ldr r0, [r6, #0x28]
ldr r2, [sp, #4]
mov r1, #1
add r3, r3, r7
bl MOD85_021DB69C
_021DBA6C:
ldr r0, [sp]
add r5, r5, #4
add r0, r0, #4
str r0, [sp]
ldr r0, [sp, #0xc]
add r7, #0x20
lsl r0, r0, #1
str r0, [sp, #0xc]
cmp r0, #0x10
bls _021DB9E0
cmp r0, #0x20
bhi _021DBAB6
add r5, r6, #0
mov r7, #1
add r5, #0xc
mov r1, #0
lsl r7, r7, #0xc
mov r0, #0x20
_021DBA90:
ldr r2, [r4]
tst r2, r0
beq _021DBAAC
ldr r2, [r5]
add r2, r2, r7
str r2, [r5]
ldr r3, [r6, #0xc]
ldr r2, [r4, #4]
cmp r3, r2
blt _021DBAA8
str r1, [r6, #0xc]
b _021DBAAC
_021DBAA8:
mov r2, #0
str r2, [sp, #8]
_021DBAAC:
ldr r2, [sp, #0xc]
lsl r2, r2, #1
str r2, [sp, #0xc]
cmp r2, #0x20
bls _021DBA90
_021DBAB6:
mov r0, #1
str r0, [r6, #8]
ldr r0, [sp, #8]
cmp r0, #1
bne _021DBAD6
mov r3, #0
str r3, [r6, #8]
ldr r0, [r6, #4]
ldr r1, _021DBADC ; =0x021DF094
add r0, r0, #1
str r0, [r6, #4]
lsl r0, r0, #4
ldr r0, [r1, r0]
cmp r0, #0x40
bne _021DBAD6
str r3, [r6, #4]
_021DBAD6:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_021DBADC: .word MOD85_021DF094
_021DBAE0: .word MOD85_021E05C0
thumb_func_end MOD85_021DB9C4
thumb_func_start MOD85_021DBAE4
MOD85_021DBAE4: ; 0x021DBAE4
push {r4, lr}
add r4, r1, #0
bl FUN_0206475C
mov r1, #0x61
lsl r1, r1, #2
str r0, [r4, #0x28]
add r0, r0, r1
str r0, [r4, #0x2c]
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DBAE4
thumb_func_start MOD85_021DBAFC
MOD85_021DBAFC: ; 0x021DBAFC
bx lr
.align 2, 0
thumb_func_end MOD85_021DBAFC
thumb_func_start MOD85_021DBB00
MOD85_021DBB00: ; 0x021DBB00
ldr r3, _021DBB08 ; =MOD85_021DB9C4
add r0, r1, #0
bx r3
nop
_021DBB08: .word MOD85_021DB9C4
thumb_func_end MOD85_021DBB00
thumb_func_start MOD85_021DBB0C
MOD85_021DBB0C: ; 0x021DBB0C
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
mov r1, #0x10
bl AllocFromHeapAtEnd
add r1, r0, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
ldr r0, _021DBB2C ; =MOD85_021DBB88
mov r2, #0x8f
str r4, [r1, #0xc]
bl FUN_0200CA44
pop {r4, pc}
.align 2, 0
_021DBB2C: .word MOD85_021DBB88
thumb_func_end MOD85_021DBB0C
thumb_func_start MOD85_021DBB30
MOD85_021DBB30: ; 0x021DBB30
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
mov r1, #0x10
bl AllocFromHeapAtEnd
add r1, r0, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
ldr r0, _021DBB50 ; =MOD85_021DBBE8
mov r2, #0x8f
str r4, [r1, #0xc]
bl FUN_0200CA44
pop {r4, pc}
.align 2, 0
_021DBB50: .word MOD85_021DBBE8
thumb_func_end MOD85_021DBB30
thumb_func_start MOD85_021DBB54
MOD85_021DBB54: ; 0x021DBB54
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x4f
mov r1, #0x10
bl AllocFromHeapAtEnd
add r1, r0, #0
mov r0, #0
str r0, [r1]
mov r0, #2
str r4, [r1, #8]
lsl r0, r0, #0xe
str r0, [r1, #4]
ldr r0, _021DBB84 ; =MOD85_021DBC48
mov r2, #0x8f
str r5, [r1, #0xc]
bl FUN_0200CA44
mov r0, #0x5f
lsl r0, r0, #4
bl PlaySE
pop {r3, r4, r5, pc}
.align 2, 0
_021DBB84: .word MOD85_021DBC48
thumb_func_end MOD85_021DBB54
thumb_func_start MOD85_021DBB88
MOD85_021DBB88: ; 0x021DBB88
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r7, r0, #0
mov r0, #0x61
ldr r1, [r5, #0xc]
lsl r0, r0, #2
add r2, r1, r0
mov r0, #2
ldr r3, [r5, #4]
lsl r0, r0, #0xa
add r0, r3, r0
asr r3, r0, #0xb
lsr r3, r3, #0x14
add r1, r2, #0
add r6, r2, #0
add r3, r0, r3
str r0, [r5, #4]
lsl r0, r3, #4
lsr r4, r0, #0x10
add r1, #0x24
add r6, #0x84
cmp r4, #0x10
bls _021DBBB8
mov r4, #0x10
_021DBBB8:
add r0, r2, #4
add r2, r4, #0
add r3, r6, #0
bl MOD85_021DB674
ldr r0, [r5, #0xc]
mov r1, #7
mov r2, #1
add r3, r6, #0
bl MOD85_021DB69C
cmp r4, #0x10
beq _021DBBDA
ldr r0, [r5, #0xc]
ldr r0, [r0]
cmp r0, #0x3f
bne _021DBBE6
_021DBBDA:
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl FUN_0200CAB4
_021DBBE6:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DBB88
thumb_func_start MOD85_021DBBE8
MOD85_021DBBE8: ; 0x021DBBE8
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r7, r0, #0
mov r0, #0x61
ldr r1, [r5, #0xc]
lsl r0, r0, #2
add r2, r1, r0
mov r1, #2
ldr r3, [r5, #4]
lsl r1, r1, #0xa
add r1, r3, r1
asr r3, r1, #0xb
lsr r3, r3, #0x14
add r0, r2, #0
add r6, r2, #0
add r3, r1, r3
str r1, [r5, #4]
lsl r1, r3, #4
lsr r4, r1, #0x10
add r0, #0x24
add r6, #0x84
cmp r4, #0x10
bls _021DBC18
mov r4, #0x10
_021DBC18:
add r1, r2, #4
add r2, r4, #0
add r3, r6, #0
bl MOD85_021DB674
ldr r0, [r5, #0xc]
mov r1, #7
mov r2, #1
add r3, r6, #0
bl MOD85_021DB69C
cmp r4, #0x10
beq _021DBC3A
ldr r0, [r5, #0xc]
ldr r0, [r0]
cmp r0, #0x3f
bne _021DBC46
_021DBC3A:
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl FUN_0200CAB4
_021DBC46:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DBBE8
thumb_func_start MOD85_021DBC48
MOD85_021DBC48: ; 0x021DBC48
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
ldr r1, [r5, #0xc]
mov r2, #0x61
lsl r2, r2, #2
add r7, r0, #0
add r0, r1, r2
add r6, r1, r2
ldr r3, [r1]
add r0, #0x24
add r6, #0x84
cmp r3, #0x3f
bne _021DBC70
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl FUN_0200CAB4
pop {r3, r4, r5, r6, r7, pc}
_021DBC70:
ldr r3, [r5, #8]
cmp r3, #0
bne _021DBC7C
add r1, r1, r2
add r1, #0x44
b _021DBC80
_021DBC7C:
add r1, r1, r2
add r1, #0x64
_021DBC80:
ldr r2, [r5]
cmp r2, #0
beq _021DBC8C
cmp r2, #1
beq _021DBCC2
pop {r3, r4, r5, r6, r7, pc}
_021DBC8C:
mov r2, #1
ldr r3, [r5, #4]
lsl r2, r2, #0xc
add r3, r3, r2
asr r2, r3, #0xb
lsr r2, r2, #0x14
add r2, r3, r2
asr r2, r2, #0xc
str r3, [r5, #4]
cmp r2, #0x10
ble _021DBCAA
ldr r3, [r5]
mov r2, #0x10
add r3, r3, #1
str r3, [r5]
_021DBCAA:
lsl r2, r2, #0x10
lsr r2, r2, #0x10
add r3, r6, #0
bl MOD85_021DB674
ldr r0, [r5, #0xc]
mov r1, #7
mov r2, #1
add r3, r6, #0
bl MOD85_021DB69C
pop {r3, r4, r5, r6, r7, pc}
_021DBCC2:
mov r2, #1
ldr r3, [r5, #4]
lsl r2, r2, #0xa
sub r2, r3, r2
asr r3, r2, #0xb
lsr r3, r3, #0x14
add r3, r2, r3
str r2, [r5, #4]
asr r4, r3, #0xc
bpl _021DBCD8
mov r4, #0
_021DBCD8:
lsl r2, r4, #0x10
lsr r2, r2, #0x10
add r3, r6, #0
bl MOD85_021DB674
ldr r0, [r5, #0xc]
mov r1, #7
mov r2, #1
add r3, r6, #0
bl MOD85_021DB69C
cmp r4, #0
bne _021DBCFE
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl FUN_0200CAB4
_021DBCFE:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DBC48
thumb_func_start MOD85_021DBD00
MOD85_021DBD00: ; 0x021DBD00
push {r4, lr}
add r4, r1, #0
lsl r1, r4, #2
add r0, r0, r1
add r0, #0xa8
ldr r0, [r0]
mov r1, #0x15
add r0, r2, r0
bl _s32_div_f
cmp r1, #0
bge _021DBD1A
add r1, #0x15
_021DBD1A:
mov r0, #0x54
add r2, r4, #0
mul r2, r0
ldr r0, _021DBD2C ; =0x021DFDE4
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, pc}
nop
_021DBD2C: .word MOD85_021DFDE4
thumb_func_end MOD85_021DBD00
thumb_func_start MOD85_021DBD30
MOD85_021DBD30: ; 0x021DBD30
push {r4, r5, r6, lr}
lsl r4, r1, #2
add r4, r0, r4
add r4, #0x90
ldr r4, [r4]
mov r3, #0
lsr r6, r4, #0x1f
lsl r5, r4, #0xf
sub r5, r5, r6
mov r4, #0xf
ror r5, r4
add r4, r6, r5
beq _021DBD4C
sub r3, r3, #1
_021DBD4C:
add r2, r2, r3
bl MOD85_021DBD00
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBD30
thumb_func_start MOD85_021DBD54
MOD85_021DBD54: ; 0x021DBD54
ldr r1, _021DBD70 ; =gMain
ldr r1, [r1, #0x48]
and r1, r0
cmp r1, r0
bne _021DBD62
mov r0, #2
bx lr
_021DBD62:
tst r0, r1
beq _021DBD6A
mov r0, #1
bx lr
_021DBD6A:
mov r0, #0
bx lr
nop
_021DBD70: .word gMain
thumb_func_end MOD85_021DBD54
thumb_func_start MOD85_021DBD74
MOD85_021DBD74: ; 0x021DBD74
mov r2, #3
add r1, r0, #0
tst r1, r2
beq _021DBD80
mov r0, #2
bx lr
_021DBD80:
mov r1, #0xc
tst r1, r0
beq _021DBD8A
add r0, r2, #0
bx lr
_021DBD8A:
mov r1, #0x30
tst r1, r0
beq _021DBD94
mov r0, #4
bx lr
_021DBD94:
mov r1, #0xc0
add r2, r0, #0
tst r2, r1
beq _021DBDA0
mov r0, #5
bx lr
_021DBDA0:
add r1, #0x40
tst r1, r0
beq _021DBDAA
mov r0, #1
bx lr
_021DBDAA:
mov r1, #2
lsl r1, r1, #8
tst r0, r1
beq _021DBDB6
mov r0, #0
bx lr
_021DBDB6:
mov r0, #6
bx lr
.align 2, 0
thumb_func_end MOD85_021DBD74
thumb_func_start MOD85_021DBDBC
MOD85_021DBDBC: ; 0x021DBDBC
push {r4, r5, r6, lr}
mov r1, #0
mov r2, #1
add r5, r0, #0
bl MOD85_021DBD30
mov r1, #1
add r4, r0, #0
add r0, r5, #0
add r2, r1, #0
bl MOD85_021DBD30
add r6, r0, #0
add r0, r5, #0
mov r1, #2
mov r2, #1
bl MOD85_021DBD30
cmp r4, #3
beq _021DBDEC
cmp r4, r6
bne _021DBDF0
cmp r4, r0
bne _021DBDF0
_021DBDEC:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021DBDF0:
mov r0, #6
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBDBC
thumb_func_start MOD85_021DBDF4
MOD85_021DBDF4: ; 0x021DBDF4
push {r4, r5, r6, lr}
add r5, r0, #0
mov r1, #0
mov r2, #2
bl MOD85_021DBD30
add r4, r0, #0
add r0, r5, #0
mov r1, #1
mov r2, #2
bl MOD85_021DBD30
mov r1, #2
add r6, r0, #0
add r0, r5, #0
add r2, r1, #0
bl MOD85_021DBD30
cmp r4, #3
beq _021DBE24
cmp r4, r6
bne _021DBE28
cmp r4, r0
bne _021DBE28
_021DBE24:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021DBE28:
mov r0, #6
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBDF4
thumb_func_start MOD85_021DBE2C
MOD85_021DBE2C: ; 0x021DBE2C
push {r4, r5, r6, lr}
add r5, r0, #0
mov r1, #0
mov r2, #3
bl MOD85_021DBD30
add r4, r0, #0
add r0, r5, #0
mov r1, #1
mov r2, #3
bl MOD85_021DBD30
add r6, r0, #0
add r0, r5, #0
mov r1, #2
mov r2, #3
bl MOD85_021DBD30
cmp r4, #3
beq _021DBE5C
cmp r4, r6
bne _021DBE60
cmp r4, r0
bne _021DBE60
_021DBE5C:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021DBE60:
mov r0, #6
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBE2C
thumb_func_start MOD85_021DBE64
MOD85_021DBE64: ; 0x021DBE64
push {r4, r5, r6, lr}
add r5, r0, #0
mov r1, #0
mov r2, #1
bl MOD85_021DBD30
add r4, r0, #0
add r0, r5, #0
mov r1, #1
mov r2, #2
bl MOD85_021DBD30
add r6, r0, #0
add r0, r5, #0
mov r1, #2
mov r2, #3
bl MOD85_021DBD30
cmp r4, #3
beq _021DBE94
cmp r4, r6
bne _021DBE98
cmp r4, r0
bne _021DBE98
_021DBE94:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021DBE98:
mov r0, #6
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBE64
thumb_func_start MOD85_021DBE9C
MOD85_021DBE9C: ; 0x021DBE9C
push {r4, r5, r6, lr}
add r5, r0, #0
mov r1, #0
mov r2, #3
bl MOD85_021DBD30
add r4, r0, #0
add r0, r5, #0
mov r1, #1
mov r2, #2
bl MOD85_021DBD30
add r6, r0, #0
add r0, r5, #0
mov r1, #2
mov r2, #1
bl MOD85_021DBD30
cmp r4, #3
beq _021DBECC
cmp r4, r6
bne _021DBED0
cmp r4, r0
bne _021DBED0
_021DBECC:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021DBED0:
mov r0, #6
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBE9C
thumb_func_start MOD85_021DBED4
MOD85_021DBED4: ; 0x021DBED4
push {r4, r5, r6, lr}
add r4, r2, #0
mov r1, #0
add r5, r0, #0
str r1, [r4]
mov r6, #6
bl MOD85_021DBDBC
cmp r0, #6
beq _021DBEF2
ldr r1, [r4]
add r6, r0, #0
mov r0, #2
orr r0, r1
str r0, [r4]
_021DBEF2:
add r0, r5, #0
bl MOD85_021DBDF4
cmp r0, #6
beq _021DBF06
ldr r1, [r4]
add r6, r0, #0
mov r0, #1
orr r0, r1
str r0, [r4]
_021DBF06:
add r0, r5, #0
bl MOD85_021DBE2C
cmp r0, #6
beq _021DBF1A
ldr r1, [r4]
add r6, r0, #0
mov r0, #4
orr r0, r1
str r0, [r4]
_021DBF1A:
add r0, r5, #0
bl MOD85_021DBE64
cmp r0, #6
beq _021DBF2E
ldr r1, [r4]
add r6, r0, #0
mov r0, #8
orr r0, r1
str r0, [r4]
_021DBF2E:
add r0, r5, #0
bl MOD85_021DBE9C
cmp r0, #6
beq _021DBF42
ldr r1, [r4]
add r6, r0, #0
mov r0, #0x10
orr r0, r1
str r0, [r4]
_021DBF42:
add r0, r6, #0
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021DBED4
thumb_func_start MOD85_021DBF48
MOD85_021DBF48: ; 0x021DBF48
push {r3, r4, r5, lr}
add r5, r2, #0
mov r1, #0
str r1, [r5]
bl MOD85_021DBDF4
add r4, r0, #0
cmp r4, #6
beq _021DBF6A
cmp r4, #2
beq _021DBF62
bl GF_AssertFail
_021DBF62:
ldr r1, [r5]
mov r0, #1
orr r0, r1
str r0, [r5]
_021DBF6A:
add r0, r4, #0
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DBF48
thumb_func_start MOD85_021DBF70
MOD85_021DBF70: ; 0x021DBF70
push {r3, lr}
mov r2, #3
add r1, r0, #0
tst r1, r2
beq _021DBF7E
mov r0, #1
pop {r3, pc}
_021DBF7E:
mov r1, #0xc
tst r1, r0
beq _021DBF88
mov r0, #0
pop {r3, pc}
_021DBF88:
mov r1, #0x30
tst r1, r0
beq _021DBF92
mov r0, #2
pop {r3, pc}
_021DBF92:
mov r1, #0xc0
tst r0, r1
beq _021DBF9C
add r0, r2, #0
pop {r3, pc}
_021DBF9C:
bl GF_AssertFail
mov r0, #4
pop {r3, pc}
thumb_func_end MOD85_021DBF70
thumb_func_start MOD85_021DBFA4
MOD85_021DBFA4: ; 0x021DBFA4
mov r2, #0
add r1, r2, #0
_021DBFA8:
add r2, r2, #1
str r1, [r0, #0x54]
add r0, r0, #4
cmp r2, #3
blt _021DBFA8
bx lr
thumb_func_end MOD85_021DBFA4
thumb_func_start MOD85_021DBFB4
MOD85_021DBFB4: ; 0x021DBFB4
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r4, #0
add r1, r5, #0
_021DBFBE:
ldr r0, [r1, #0x54]
cmp r0, #0
beq _021DBFCC
add r4, r4, #1
add r1, r1, #4
cmp r4, #3
blt _021DBFBE
_021DBFCC:
cmp r4, #3
blt _021DBFD4
bl GF_AssertFail
_021DBFD4:
lsl r0, r4, #2
add r0, r5, r0
str r6, [r0, #0x54]
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DBFB4
thumb_func_start MOD85_021DBFDC
MOD85_021DBFDC: ; 0x021DBFDC
push {r4, r5, r6}
sub sp, #0xc
ldr r6, _021DC018 ; =0x021DEDC8
add r4, r0, #0
ldmia r6!, {r0, r1}
add r5, sp, #0
add r3, r5, #0
stmia r5!, {r0, r1}
ldr r0, [r6]
mov r2, #0
str r0, [r5]
_021DBFF2:
ldr r1, [r4, #0x54]
cmp r1, #0
beq _021DC006
ldr r0, [r3]
cmp r1, r0
beq _021DC006
add sp, #0xc
mov r0, #0
pop {r4, r5, r6}
bx lr
_021DC006:
add r2, r2, #1
add r4, r4, #4
add r3, r3, #4
cmp r2, #3
blt _021DBFF2
mov r0, #1
add sp, #0xc
pop {r4, r5, r6}
bx lr
.align 2, 0
_021DC018: .word MOD85_021DEDC8
thumb_func_end MOD85_021DBFDC
thumb_func_start MOD85_021DC01C
MOD85_021DC01C: ; 0x021DC01C
push {r3, r4}
ldr r2, [r0, #0x34]
mov r1, #0x18
ldr r3, _021DC04C ; =0x021DEF04
mul r1, r2
mov r4, #0
add r3, r3, r1
_021DC02A:
ldr r2, [r0, #0x54]
cmp r2, #0
beq _021DC03C
ldr r1, [r3]
cmp r2, r1
beq _021DC03C
mov r0, #0
pop {r3, r4}
bx lr
_021DC03C:
add r4, r4, #1
add r0, r0, #4
add r3, r3, #4
cmp r4, #3
blt _021DC02A
mov r0, #1
pop {r3, r4}
bx lr
.align 2, 0
_021DC04C: .word MOD85_021DEF04
thumb_func_end MOD85_021DC01C
thumb_func_start MOD85_021DC050
MOD85_021DC050: ; 0x021DC050
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #3
str r0, [sp]
mov r0, #2
lsl r2, r1, #3
ldr r3, _021DC08C ; =0x021DEE9C
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
add r5, r3, r2
ldr r2, [r3, r2]
ldr r0, _021DC090 ; =0x0000043C
ldr r3, [r5, #4]
lsl r2, r2, #0x18
lsl r3, r3, #0x18
ldr r0, [r4, r0]
mov r1, #1
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl BgTilemapRectChangePalette
ldr r0, _021DC090 ; =0x0000043C
mov r1, #1
ldr r0, [r4, r0]
bl ScheduleBgTilemapBufferTransfer
add sp, #0xc
pop {r4, r5, pc}
.align 2, 0
_021DC08C: .word MOD85_021DEE9C
_021DC090: .word 0x0000043C
thumb_func_end MOD85_021DC050
thumb_func_start MOD85_021DC094
MOD85_021DC094: ; 0x021DC094
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #3
str r0, [sp]
mov r0, #2
lsl r2, r1, #3
ldr r3, _021DC0D0 ; =0x021DEE9C
str r0, [sp, #4]
mov r0, #5
str r0, [sp, #8]
add r5, r3, r2
ldr r2, [r3, r2]
ldr r0, _021DC0D4 ; =0x0000043C
ldr r3, [r5, #4]
lsl r2, r2, #0x18
lsl r3, r3, #0x18
ldr r0, [r4, r0]
mov r1, #1
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl BgTilemapRectChangePalette
ldr r0, _021DC0D4 ; =0x0000043C
mov r1, #1
ldr r0, [r4, r0]
bl ScheduleBgTilemapBufferTransfer
add sp, #0xc
pop {r4, r5, pc}
.align 2, 0
_021DC0D0: .word MOD85_021DEE9C
_021DC0D4: .word 0x0000043C
thumb_func_end MOD85_021DC094
thumb_func_start MOD85_021DC0D8
MOD85_021DC0D8: ; 0x021DC0D8
push {r3, r4, r5, lr}
ldr r4, [r0, #0x44]
ldr r5, [r0, #0x48]
cmp r4, #6
bne _021DC0E6
bl GF_AssertFail
_021DC0E6:
ldr r3, _021DC104 ; =0x021DFCAC
lsl r2, r4, #2
mov r1, #0
ldr r3, [r3, r2]
add r0, r1, #0
mov r2, #1
_021DC0F2:
add r4, r5, #0
tst r4, r2
beq _021DC0FA
add r0, r0, r3
_021DC0FA:
add r1, r1, #1
lsr r5, r5, #1
cmp r1, #5
blt _021DC0F2
pop {r3, r4, r5, pc}
.align 2, 0
_021DC104: .word MOD85_021DFCAC
thumb_func_end MOD85_021DC0D8
thumb_func_start MOD85_021DC108
MOD85_021DC108: ; 0x021DC108
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r7, r0, #0
mov r4, #0
add r0, sp, #8
str r4, [r0]
str r4, [r0, #4]
mov r6, #0x11
lsl r6, r6, #0xe
str r4, [r0, #8]
str r7, [sp, #0x14]
cmp r4, #3
bge _021DC15A
_021DC122:
mov r5, #0
_021DC124:
str r6, [sp, #8]
str r4, [sp, #0x1c]
str r5, [sp, #0x18]
add r0, sp, #0x14
str r0, [sp]
mov r0, #0x8b
str r0, [sp, #4]
ldr r0, _021DC160 ; =0x0000044C
ldr r1, _021DC164 ; =0x021DF938
ldr r0, [r7, r0]
add r2, sp, #8
mov r3, #0
bl FUN_020644E4
mov r0, #2
lsl r0, r0, #0x10
add r5, r5, r0
mov r0, #0xa
lsl r0, r0, #0x10
cmp r5, r0
blt _021DC124
mov r0, #0xf
lsl r0, r0, #0xe
add r4, r4, #1
add r6, r6, r0
cmp r4, #3
blt _021DC122
_021DC15A:
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_021DC160: .word 0x0000044C
_021DC164: .word MOD85_021DF938
thumb_func_end MOD85_021DC108
thumb_func_start MOD85_021DC168
MOD85_021DC168: ; 0x021DC168
push {r3, r4, r5, lr}
sub sp, #0x28
add r5, r0, #0
add r4, r1, #0
bl FUN_0206475C
add r3, r0, #0
ldmia r3!, {r0, r1}
add r2, r4, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
add r1, sp, #0x1c
str r0, [r2]
add r0, r5, #0
bl FUN_0206477C
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #3
str r0, [sp, #0x14]
mov r0, #2
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0xc
add r2, sp, #0x1c
mov r3, #1
bl MOD85_021DEC00
ldr r0, [r4, #0x10]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DC168
thumb_func_start MOD85_021DC1C0
MOD85_021DC1C0: ; 0x021DC1C0
ldr r3, _021DC1C8 ; =MOD85_021DECA0
add r1, #0xc
add r0, r1, #0
bx r3
.align 2, 0
_021DC1C8: .word MOD85_021DECA0
thumb_func_end MOD85_021DC1C0
thumb_func_start MOD85_021DC1CC
MOD85_021DC1CC: ; 0x021DC1CC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r1, #0
ldr r7, [r5, #8]
str r0, [sp]
ldr r0, [r5]
lsl r6, r7, #2
add r0, r0, r6
add r0, #0x90
ldr r1, [r5, #4]
ldr r0, [r0]
add r0, r1, r0
mov r1, #0xa
lsl r1, r1, #0x10
bl _s32_div_f
add r4, r1, #0
ldr r0, [sp]
add r1, sp, #4
bl FUN_0206477C
ldr r1, [r5]
mov r0, #1
add r1, r1, r6
add r1, #0x9c
lsl r0, r0, #0x10
ldr r1, [r1]
add r0, r4, r0
add r0, r0, r1
str r0, [sp, #8]
ldr r0, [r5, #0x10]
add r1, sp, #4
bl FUN_02020044
asr r2, r4, #0x10
lsr r2, r2, #0xf
add r2, r4, r2
ldr r0, [r5]
add r1, r7, #0
asr r2, r2, #0x11
bl MOD85_021DBD00
lsl r1, r0, #2
ldr r0, _021DC244 ; =0x021DF9D8
ldr r4, [r0, r1]
ldr r0, [r5, #0x10]
bl FUN_020201DC
cmp r4, r0
beq _021DC240
ldr r0, [r5, #0x10]
add r1, r4, #0
bl FUN_02020130
ldr r0, [r5, #0x10]
mov r1, #0
bl FUN_02020208
_021DC240:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DC244: .word MOD85_021DF9D8
thumb_func_end MOD85_021DC1CC
thumb_func_start MOD85_021DC248
MOD85_021DC248: ; 0x021DC248
bx lr
.align 2, 0
thumb_func_end MOD85_021DC248
thumb_func_start MOD85_021DC24C
MOD85_021DC24C: ; 0x021DC24C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
ldr r3, _021DC290 ; =0x021DF628
add r5, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #8
add r6, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r4, #1
str r0, [r2]
mov r7, #0x8d
_021DC264:
str r5, [sp]
ldr r0, _021DC294 ; =0x0000044C
str r7, [sp, #4]
ldr r0, [r5, r0]
ldr r1, _021DC298 ; =0x021DF94C
add r2, r6, #0
add r3, r4, #0
bl FUN_020644E4
mov r0, #0xa
mul r4, r0
mov r0, #2
ldr r1, [sp, #8]
lsl r0, r0, #0xe
sub r0, r1, r0
str r0, [sp, #8]
ldr r0, _021DC29C ; =0x000186A0
cmp r4, r0
blo _021DC264
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_021DC290: .word MOD85_021DF628
_021DC294: .word 0x0000044C
_021DC298: .word MOD85_021DF94C
_021DC29C: .word 0x000186A0
thumb_func_end MOD85_021DC24C
thumb_func_start MOD85_021DC2A0
MOD85_021DC2A0: ; 0x021DC2A0
push {r3, r4, r5, lr}
sub sp, #0x28
add r5, r0, #0
add r4, r1, #0
bl FUN_02064754
mov r1, #0xa
str r0, [r4, #4]
mul r1, r0
str r1, [r4, #8]
add r0, r5, #0
bl FUN_0206475C
str r0, [r4]
add r0, r5, #0
add r1, sp, #0x1c
bl FUN_0206477C
mov r0, #0
str r0, [sp]
mov r3, #1
str r3, [sp, #4]
str r3, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
str r3, [sp, #0x14]
str r3, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0xc
add r2, sp, #0x1c
bl MOD85_021DEC00
ldr r0, [r4, #0x10]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DC2A0
thumb_func_start MOD85_021DC2F8
MOD85_021DC2F8: ; 0x021DC2F8
ldr r3, _021DC300 ; =MOD85_021DECA0
add r1, #0xc
add r0, r1, #0
bx r3
.align 2, 0
_021DC300: .word MOD85_021DECA0
thumb_func_end MOD85_021DC2F8
thumb_func_start MOD85_021DC304
MOD85_021DC304: ; 0x021DC304
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5]
ldr r4, [r0, #0x60]
ldr r0, [r5, #4]
cmp r0, #1
bls _021DC326
cmp r4, r0
bhs _021DC326
ldr r0, [r5, #0x10]
mov r1, #0
bl FUN_020200A0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
_021DC326:
ldr r0, [r5, #0x10]
mov r1, #1
bl FUN_020200A0
ldr r1, [r5, #8]
add r0, r4, #0
bl _u32_div_f
add r4, r1, #0
ldr r1, [r5, #4]
add r0, r4, #0
bl _u32_div_f
add r4, r0, #0
ldr r0, [r5, #0x10]
bl FUN_020201DC
cmp r4, r0
beq _021DC35A
ldr r0, [r5, #0x10]
add r1, r4, #0
bl FUN_02020130
ldr r0, [r5, #0x10]
bl FUN_02020198
_021DC35A:
add r0, r6, #0
add r1, sp, #0
bl FUN_0206477C
ldr r0, _021DC37C ; =0x021DFAD8
lsl r1, r4, #2
ldr r0, [r0, r1]
ldr r2, [sp]
add r1, sp, #0
add r0, r2, r0
str r0, [sp]
ldr r0, [r5, #0x10]
bl FUN_02020044
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_021DC37C: .word MOD85_021DFAD8
thumb_func_end MOD85_021DC304
thumb_func_start MOD85_021DC380
MOD85_021DC380: ; 0x021DC380
bx lr
.align 2, 0
thumb_func_end MOD85_021DC380
thumb_func_start MOD85_021DC384
MOD85_021DC384: ; 0x021DC384
push {r4, r5, r6, r7, lr}
sub sp, #0x14
ldr r3, _021DC3C8 ; =0x021DF6F4
add r5, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #8
add r6, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r4, #1
str r0, [r2]
mov r7, #0x8d
_021DC39C:
str r5, [sp]
ldr r0, _021DC3CC ; =0x0000044C
str r7, [sp, #4]
ldr r0, [r5, r0]
ldr r1, _021DC3D0 ; =0x021DF960
add r2, r6, #0
add r3, r4, #0
bl FUN_020644E4
mov r0, #0xa
mul r4, r0
mov r0, #2
ldr r1, [sp, #8]
lsl r0, r0, #0xe
sub r0, r1, r0
str r0, [sp, #8]
ldr r0, _021DC3D4 ; =0x000186A0
cmp r4, r0
blo _021DC39C
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_021DC3C8: .word MOD85_021DF6F4
_021DC3CC: .word 0x0000044C
_021DC3D0: .word MOD85_021DF960
_021DC3D4: .word 0x000186A0
thumb_func_end MOD85_021DC384
thumb_func_start MOD85_021DC3D8
MOD85_021DC3D8: ; 0x021DC3D8
push {r3, r4, r5, lr}
sub sp, #0x28
add r5, r0, #0
add r4, r1, #0
bl FUN_02064754
mov r1, #0xa
str r0, [r4, #4]
mul r1, r0
str r1, [r4, #8]
add r0, r5, #0
bl FUN_0206475C
str r0, [r4]
add r0, r5, #0
add r1, sp, #0x1c
bl FUN_0206477C
mov r0, #0
str r0, [sp]
mov r3, #1
str r3, [sp, #4]
str r3, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
str r3, [sp, #0x14]
str r3, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0xc
add r2, sp, #0x1c
bl MOD85_021DEC00
ldr r0, [r4, #0x10]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DC3D8
thumb_func_start MOD85_021DC430
MOD85_021DC430: ; 0x021DC430
ldr r3, _021DC438 ; =MOD85_021DECA0
add r1, #0xc
add r0, r1, #0
bx r3
.align 2, 0
_021DC438: .word MOD85_021DECA0
thumb_func_end MOD85_021DC430
thumb_func_start MOD85_021DC43C
MOD85_021DC43C: ; 0x021DC43C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5]
ldr r4, [r0, #0x64]
ldr r0, [r5, #4]
cmp r4, r0
ldr r0, [r5, #0x10]
bhs _021DC45A
mov r1, #0
bl FUN_020200A0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
_021DC45A:
mov r1, #1
bl FUN_020200A0
ldr r1, [r5, #8]
add r0, r4, #0
bl _u32_div_f
add r4, r1, #0
ldr r1, [r5, #4]
add r0, r4, #0
bl _u32_div_f
add r4, r0, #0
ldr r0, [r5, #0x10]
bl FUN_020201DC
cmp r4, r0
beq _021DC48C
ldr r0, [r5, #0x10]
add r1, r4, #0
bl FUN_02020130
ldr r0, [r5, #0x10]
bl FUN_02020198
_021DC48C:
add r0, r6, #0
add r1, sp, #0
bl FUN_0206477C
ldr r0, _021DC4AC ; =0x021DFAB0
lsl r1, r4, #2
ldr r0, [r0, r1]
ldr r2, [sp]
add r1, sp, #0
add r0, r2, r0
str r0, [sp]
ldr r0, [r5, #0x10]
bl FUN_02020044
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.align 2, 0
_021DC4AC: .word MOD85_021DFAB0
thumb_func_end MOD85_021DC43C
thumb_func_start MOD85_021DC4B0
MOD85_021DC4B0: ; 0x021DC4B0
bx lr
.align 2, 0
thumb_func_end MOD85_021DC4B0
thumb_func_start MOD85_021DC4B4
MOD85_021DC4B4: ; 0x021DC4B4
push {r3, r4, r5, r6, lr}
sub sp, #0x14
ldr r6, _021DC4E0 ; =0x021DF808
add r5, sp, #8
add r4, r0, #0
add r3, r1, #0
ldmia r6!, {r0, r1}
add r2, r5, #0
stmia r5!, {r0, r1}
ldr r0, [r6]
ldr r1, _021DC4E4 ; =0x021DF974
str r0, [r5]
str r4, [sp]
mov r0, #0x86
str r0, [sp, #4]
ldr r0, _021DC4E8 ; =0x0000044C
ldr r0, [r4, r0]
bl FUN_020644E4
add sp, #0x14
pop {r3, r4, r5, r6, pc}
nop
_021DC4E0: .word MOD85_021DF808
_021DC4E4: .word MOD85_021DF974
_021DC4E8: .word 0x0000044C
thumb_func_end MOD85_021DC4B4
thumb_func_start MOD85_021DC4EC
MOD85_021DC4EC: ; 0x021DC4EC
push {r4, lr}
add r4, r1, #0
bl FUN_02064738
str r4, [r0]
mov r1, #0
str r1, [r0, #4]
str r1, [r0, #8]
str r1, [r0, #0x30]
pop {r4, pc}
thumb_func_end MOD85_021DC4EC
thumb_func_start MOD85_021DC500
MOD85_021DC500: ; 0x021DC500
push {r4, lr}
add r4, r1, #0
bl FUN_02064738
cmp r4, #1
ldr r0, [r0, #0x40]
bne _021DC516
mov r1, #0
bl FUN_020200A0
pop {r4, pc}
_021DC516:
mov r1, #1
bl FUN_020200A0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DC500
thumb_func_start MOD85_021DC520
MOD85_021DC520: ; 0x021DC520
push {r3, lr}
bl FUN_02064738
ldr r0, [r0, #8]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DC520
thumb_func_start MOD85_021DC52C
MOD85_021DC52C: ; 0x021DC52C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl FUN_0206475C
str r0, [r4, #0x38]
add r0, r5, #0
bl FUN_02064754
str r0, [r4, #0x10]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end MOD85_021DC52C
thumb_func_start MOD85_021DC544
MOD85_021DC544: ; 0x021DC544
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #0x40]
cmp r0, #0
beq _021DC55C
ldr r0, [r4, #0x38]
bl MOD85_021DCB00
add r4, #0x3c
add r0, r4, #0
bl MOD85_021DECA0
_021DC55C:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DC544
thumb_func_start MOD85_021DC560
MOD85_021DC560: ; 0x021DC560
push {r3, r4, r5, lr}
ldr r4, _021DC57C ; =0x021DF9F0
add r5, r1, #0
_021DC566:
ldr r1, [r5]
add r0, r5, #0
lsl r1, r1, #2
ldr r2, [r4, r1]
ldr r1, [r5, #4]
lsl r1, r1, #2
ldr r1, [r2, r1]
blx r1
cmp r0, #1
beq _021DC566
pop {r3, r4, r5, pc}
.align 2, 0
_021DC57C: .word MOD85_021DF9F0
thumb_func_end MOD85_021DC560
thumb_func_start MOD85_021DC580
MOD85_021DC580: ; 0x021DC580
bx lr
.align 2, 0
thumb_func_end MOD85_021DC580
thumb_func_start MOD85_021DC584
MOD85_021DC584: ; 0x021DC584
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x10]
bl MOD85_021DCA68
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DC584
thumb_func_start MOD85_021DC598
MOD85_021DC598: ; 0x021DC598
ldr r1, [r0, #0xc]
cmp r1, #2
bne _021DC5A4
ldr r1, [r0, #4]
add r1, r1, #1
str r1, [r0, #4]
_021DC5A4:
mov r0, #0
bx lr
thumb_func_end MOD85_021DC598
thumb_func_start MOD85_021DC5A8
MOD85_021DC5A8: ; 0x021DC5A8
push {r4, r5, lr}
sub sp, #0xc
ldr r5, _021DC5D8 ; =0x021DF820
add r4, r0, #0
ldmia r5!, {r0, r1}
add r3, sp, #0
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r4, #0
str r0, [r3]
ldr r0, [r4, #0x38]
add r1, #0x3c
bl MOD85_021DCB6C
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
add sp, #0xc
pop {r4, r5, pc}
nop
_021DC5D8: .word MOD85_021DF820
thumb_func_end MOD85_021DC5A8
thumb_func_start MOD85_021DC5DC
MOD85_021DC5DC: ; 0x021DC5DC
mov r0, #0
bx lr
thumb_func_end MOD85_021DC5DC
thumb_func_start MOD85_021DC5E0
MOD85_021DC5E0: ; 0x021DC5E0
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DC63C ; =0x021DF7E4
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DC640 ; =0x021DF70C
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x40]
bl FUN_02020064
ldr r0, [r4, #0x40]
mov r1, #0
bl FUN_02020088
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x40]
mov r1, #0
bl FUN_02020130
ldr r0, [r4, #0x40]
mov r1, #0
bl FUN_02020208
ldr r0, _021DC644 ; =0x00000624
bl PlaySE
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_021DC63C: .word MOD85_021DF7E4
_021DC640: .word MOD85_021DF70C
_021DC644: .word 0x00000624
thumb_func_end MOD85_021DC5E0
thumb_func_start MOD85_021DC648
MOD85_021DC648: ; 0x021DC648
push {r4, lr}
sub sp, #0x18
add r4, r0, #0
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl MOD85_021DECBC
ldr r0, [r4, #0x40]
add r1, sp, #0
bl MOD85_021DECD0
mov r0, #1
ldr r1, [sp, #0x10]
lsl r0, r0, #0xe
sub r1, r1, r0
str r1, [sp, #0x10]
ldr r2, [sp]
ldr r1, _021DC6AC ; =0x000001C7
sub r2, r2, r1
str r2, [sp]
ldr r2, [sp, #4]
sub r1, r2, r1
str r1, [sp, #4]
ldr r1, [r4, #0x30]
add r1, r1, #1
str r1, [r4, #0x30]
cmp r1, #9
blo _021DC696
mov r1, #0x16
lsr r0, r0, #2
lsl r1, r1, #0x10
str r1, [sp, #0x10]
str r0, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [r4, #0x30]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DC696:
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x40]
add r1, sp, #0
bl FUN_02020064
mov r0, #0
add sp, #0x18
pop {r4, pc}
.align 2, 0
_021DC6AC: .word 0x000001C7
thumb_func_end MOD85_021DC648
thumb_func_start MOD85_021DC6B0
MOD85_021DC6B0: ; 0x021DC6B0
ldr r1, [r0, #0x30]
add r1, r1, #1
str r1, [r0, #0x30]
cmp r1, #3
blo _021DC6C8
mov r1, #0
str r1, [r0, #0x30]
mov r1, #1
str r1, [r0, #8]
ldr r1, [r0, #4]
add r1, r1, #1
str r1, [r0, #4]
_021DC6C8:
mov r0, #0
bx lr
thumb_func_end MOD85_021DC6B0
thumb_func_start MOD85_021DC6CC
MOD85_021DC6CC: ; 0x021DC6CC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x40]
mov r1, #1
bl FUN_02020130
ldr r0, [r4, #0x40]
bl FUN_02020198
ldr r0, [r4, #0x40]
mov r1, #1
bl FUN_020200BC
mov r0, #0x6d
lsl r0, r0, #4
bl PlaySE
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DC6CC
thumb_func_start MOD85_021DC6F8
MOD85_021DC6F8: ; 0x021DC6F8
ldr r1, [r0, #0x30]
add r1, r1, #1
str r1, [r0, #0x30]
cmp r1, #4
blo _021DC710
mov r1, #0
str r1, [r0, #0x30]
mov r1, #1
str r1, [r0, #8]
ldr r1, [r0, #4]
add r1, r1, #1
str r1, [r0, #4]
_021DC710:
mov r0, #0
bx lr
thumb_func_end MOD85_021DC6F8
thumb_func_start MOD85_021DC714
MOD85_021DC714: ; 0x021DC714
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DC774 ; =0x021DF754
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DC778 ; =0x021DF670
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r5, r2, #0
str r0, [r3]
add r3, r4, #0
ldmia r5!, {r0, r1}
add r3, #0x14
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x40]
bl FUN_02020044
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl FUN_02020064
ldr r0, [r4, #0x40]
mov r1, #0
bl FUN_02020088
ldr r0, [r4, #0x40]
mov r1, #3
bl FUN_02020130
ldr r0, [r4, #0x40]
bl FUN_02020198
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
.align 2, 0
_021DC774: .word MOD85_021DF754
_021DC778: .word MOD85_021DF670
thumb_func_end MOD85_021DC714
thumb_func_start MOD85_021DC77C
MOD85_021DC77C: ; 0x021DC77C
push {r3, r4, r5, r6, lr}
sub sp, #0x2c
ldr r5, _021DC7DC ; =0x021DFA0C
add r4, r0, #0
add r2, sp, #0
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}
add r6, r4, #0
add r6, #0x14
stmia r2!, {r0, r1}
add r5, sp, #0x20
ldmia r6!, {r0, r1}
add r2, r5, #0
stmia r5!, {r0, r1}
ldr r0, [r6]
str r0, [r5]
ldr r1, [r4, #0x30]
ldr r0, [sp, #0x24]
lsr r1, r1, #1
lsl r1, r1, #2
ldr r1, [r3, r1]
add r0, r0, r1
str r0, [sp, #0x24]
ldr r0, [r4, #0x40]
add r1, r2, #0
bl FUN_02020044
ldr r0, [r4, #0x30]
add r0, r0, #1
str r0, [r4, #0x30]
cmp r0, #0x10
blo _021DC7D6
mov r0, #0
str r0, [r4, #0x30]
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DC7D6:
mov r0, #0
add sp, #0x2c
pop {r3, r4, r5, r6, pc}
.align 2, 0
_021DC7DC: .word MOD85_021DFA0C
thumb_func_end MOD85_021DC77C
thumb_func_start MOD85_021DC7E0
MOD85_021DC7E0: ; 0x021DC7E0
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DC840 ; =0x021DF640
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DC844 ; =0x021DF730
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r5, r2, #0
str r0, [r3]
add r3, r4, #0
ldmia r5!, {r0, r1}
add r3, #0x14
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x40]
bl FUN_02020044
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl FUN_02020064
ldr r0, [r4, #0x40]
mov r1, #0
bl FUN_02020088
ldr r0, [r4, #0x40]
mov r1, #4
bl FUN_02020130
ldr r0, [r4, #0x40]
bl FUN_02020198
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
.align 2, 0
_021DC840: .word MOD85_021DF640
_021DC844: .word MOD85_021DF730
thumb_func_end MOD85_021DC7E0
thumb_func_start MOD85_021DC848
MOD85_021DC848: ; 0x021DC848
push {r4, lr}
sub sp, #0x18
add r4, r0, #0
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl MOD85_021DECBC
ldr r0, [r4, #0x40]
add r1, sp, #0
bl MOD85_021DECD0
mov r0, #1
ldr r1, [sp, #0x10]
lsl r0, r0, #0xe
add r1, r1, r0
str r1, [sp, #0x10]
ldr r2, [sp]
ldr r1, _021DC8B0 ; =0x000001C7
add r2, r2, r1
str r2, [sp]
ldr r2, [sp, #4]
add r1, r2, r1
str r1, [sp, #4]
ldr r1, [r4, #0x30]
add r1, r1, #1
str r1, [r4, #0x30]
cmp r1, #0xa
blo _021DC89A
mov r1, #7
lsr r0, r0, #2
lsl r1, r1, #0x12
str r1, [sp, #0x10]
str r0, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [r4, #0x30]
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_021DC89A:
ldr r0, [r4, #0x40]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x40]
add r1, sp, #0
bl FUN_02020064
mov r0, #0
add sp, #0x18
pop {r4, pc}
.align 2, 0
_021DC8B0: .word 0x000001C7
thumb_func_end MOD85_021DC848
thumb_func_start MOD85_021DC8B4
MOD85_021DC8B4: ; 0x021DC8B4
push {r4, r5, r6, r7, lr}
sub sp, #0x24
ldr r3, _021DC934 ; =0x021DF6AC
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0x18
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r3, _021DC938 ; =0x021DF61C
str r0, [r2]
add r2, sp, #0xc
ldmia r3!, {r0, r1}
add r6, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
add r5, sp, #0
mov r7, #0
str r7, [r5]
str r0, [r2]
add r3, r6, #0
str r7, [r5, #4]
add r2, r4, #0
ldmia r3!, {r0, r1}
str r7, [r5, #8]
add r2, #0x14
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r2, r4, #0
ldmia r5!, {r0, r1}
add r2, #0x20
stmia r2!, {r0, r1}
ldr r0, [r5]
add r1, r6, #0
str r0, [r2]
str r7, [r4, #0x30]
str r7, [r4, #0x34]
str r7, [r4, #0x2c]
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #0x40]
bl FUN_02020044
ldr r0, [r4, #0x40]
add r1, sp, #0x18
bl FUN_02020064
ldr r0, [r4, #0x40]
add r1, r7, #0
bl FUN_02020088
ldr r0, [r4, #0x40]
mov r1, #2
bl FUN_02020130
ldr r0, [r4, #0x40]
bl FUN_02020198
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #1
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.align 2, 0
_021DC934: .word MOD85_021DF6AC
_021DC938: .word MOD85_021DF61C
thumb_func_end MOD85_021DC8B4
thumb_func_start MOD85_021DC93C
MOD85_021DC93C: ; 0x021DC93C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x60
ldr r3, _021DC9D8 ; =0x021DFA2C
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0x40
add r6, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r3, _021DC9DC ; =0x021DFA4C
add r2, sp, #0x20
ldmia r3!, {r0, r1}
add r5, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r3, _021DC9E0 ; =0x021DFA6C
add r2, sp, #0
add r7, r2, #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}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r1, [r4, #0x34]
ldr r0, [r4, #0x2c]
lsl r1, r1, #2
ldr r1, [r6, r1]
add r0, r0, r1
str r0, [r4, #0x2c]
ldr r0, [r4, #0x34]
ldr r1, [r4, #0x14]
lsl r0, r0, #2
ldr r0, [r5, r0]
add r0, r1, r0
str r0, [r4, #0x14]
ldr r0, [r4, #0x30]
add r2, r0, #1
str r2, [r4, #0x30]
ldr r1, [r4, #0x34]
lsl r0, r1, #2
ldr r0, [r7, r0]
cmp r2, r0
blo _021DC9BC
add r0, r1, #1
str r0, [r4, #0x34]
cmp r0, #8
blt _021DC9B8
mov r0, #0
str r0, [r4, #0x34]
_021DC9B8:
mov r0, #0
str r0, [r4, #0x30]
_021DC9BC:
add r1, r4, #0
ldr r0, [r4, #0x40]
add r1, #0x14
bl FUN_02020044
ldr r1, [r4, #0x2c]
ldr r0, [r4, #0x40]
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl FUN_02020088
mov r0, #0
add sp, #0x60
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DC9D8: .word MOD85_021DFA2C
_021DC9DC: .word MOD85_021DFA4C
_021DC9E0: .word MOD85_021DFA6C
thumb_func_end MOD85_021DC93C
thumb_func_start MOD85_021DC9E4
MOD85_021DC9E4: ; 0x021DC9E4
push {r3, r4, r5, r6, lr}
sub sp, #0x24
ldr r3, _021DCA60 ; =0x021DF5F8
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0x18
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DCA64 ; =0x021DF658
str r0, [r2]
add r2, sp, #0xc
add r3, r2, #0
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r5]
add r5, r4, #0
str r0, [r2]
add r2, sp, #0
mov r0, #0
str r0, [r2]
str r0, [r2, #4]
add r6, r3, #0
str r0, [r2, #8]
ldmia r6!, {r0, r1}
add r5, #0x14
stmia r5!, {r0, r1}
ldr r0, [r6]
str r0, [r5]
add r5, r4, #0
ldmia r2!, {r0, r1}
add r5, #0x20
stmia r5!, {r0, r1}
ldr r0, [r2]
add r1, r3, #0
str r0, [r5]
mov r0, #1
str r0, [r4, #8]
ldr r0, [r4, #0x40]
bl FUN_02020044
ldr r0, [r4, #0x40]
add r1, sp, #0x18
bl FUN_02020064
ldr r0, [r4, #0x40]
mov r1, #0
bl FUN_02020088
ldr r0, [r4, #0x40]
mov r1, #2
bl FUN_02020130
ldr r0, [r4, #0x40]
bl FUN_02020198
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #1
add sp, #0x24
pop {r3, r4, r5, r6, pc}
nop
_021DCA60: .word MOD85_021DF5F8
_021DCA64: .word MOD85_021DF658
thumb_func_end MOD85_021DC9E4
thumb_func_start MOD85_021DCA68
MOD85_021DCA68: ; 0x021DCA68
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
ldr r4, [r6, #0x38]
cmp r5, #5
blt _021DCA78
bl GF_AssertFail
_021DCA78:
mov r1, #2
mov r2, #0x45
ldr r7, _021DCAF0 ; =0x021DFB30
lsl r3, r5, #4
str r1, [sp]
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x18
add r5, r7, r3
ldr r2, [r4, r2]
ldr r3, [r7, r3]
bl MOD85_021DE840
mov r1, #2
mov r2, #0x45
str r1, [sp]
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
ldr r3, [r5, #4]
bl MOD85_021DE910
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
ldr r2, [r5, #8]
mov r3, #2
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
ldr r2, [r5, #0xc]
mov r3, #2
bl MOD85_021DEA4C
ldr r0, _021DCAF4 ; =MOD85_021DCB18
ldr r2, _021DCAF8 ; =0x00000101
add r1, r6, #0
bl FUN_0200CA60
cmp r0, #0
bne _021DCADC
bl GF_AssertFail
_021DCADC:
ldr r0, _021DCAFC ; =MOD85_021DCB44
ldr r2, _021DCAF8 ; =0x00000101
add r1, r6, #0
bl FUN_0200CA98
cmp r0, #0
bne _021DCAEE
bl GF_AssertFail
_021DCAEE:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DCAF0: .word MOD85_021DFB30
_021DCAF4: .word MOD85_021DCB18
_021DCAF8: .word 0x00000101
_021DCAFC: .word MOD85_021DCB44
thumb_func_end MOD85_021DCA68
thumb_func_start MOD85_021DCB00
MOD85_021DCB00: ; 0x021DCB00
push {r3, lr}
mov r1, #2
mov r2, #0x45
str r1, [sp]
lsl r2, r2, #4
ldr r0, [r0, r2]
add r2, r1, #0
add r3, r1, #0
bl MOD85_021DEAB4
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DCB00
thumb_func_start MOD85_021DCB18
MOD85_021DCB18: ; 0x021DCB18
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r0, #0
mov r0, #0x45
ldr r4, [r5, #0x38]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #2
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #2
bl MOD85_021DE97C
mov r0, #1
str r0, [r5, #0xc]
add r0, r6, #0
bl FUN_0200CAB4
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DCB18
thumb_func_start MOD85_021DCB44
MOD85_021DCB44: ; 0x021DCB44
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0xc]
ldr r1, [r4, #0x38]
cmp r0, #1
bne _021DCB68
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
bl MOD85_021DE9B0
mov r0, #2
str r0, [r4, #0xc]
add r0, r5, #0
bl FUN_0200CAB4
_021DCB68:
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DCB44
thumb_func_start MOD85_021DCB6C
MOD85_021DCB6C: ; 0x021DCB6C
push {r3, r4, r5, r6, lr}
sub sp, #0x34
add r5, r0, #0
add r4, r1, #0
add r1, sp, #0x28
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
ldr r6, _021DCBDC ; =0x021DF85C
str r0, [r1, #8]
ldmia r6!, {r0, r1}
add r3, sp, #0x1c
stmia r3!, {r0, r1}
ldr r0, [r6]
add r1, r4, #0
str r0, [r3]
mov r0, #1
str r0, [sp]
mov r3, #2
str r3, [sp, #4]
str r3, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
str r3, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r5, r0]
bl MOD85_021DEC00
ldr r0, [r4, #4]
mov r1, #2
bl FUN_020200EC
ldr r0, [r4, #4]
add r1, sp, #0x28
bl FUN_02020054
ldr r0, [r4, #4]
add r1, sp, #0x1c
bl FUN_02020064
mov r0, #0
bl MathUtil_0201B9A0
add r1, r0, #0
ldr r0, [r4, #4]
bl FUN_02020088
ldr r0, [r4, #4]
mov r1, #1
bl FUN_020200BC
add sp, #0x34
pop {r3, r4, r5, r6, pc}
.align 2, 0
_021DCBDC: .word MOD85_021DF85C
thumb_func_end MOD85_021DCB6C
thumb_func_start MOD85_021DCBE0
MOD85_021DCBE0: ; 0x021DCBE0
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DCC0C ; =0x021DF6E8
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
add r2, r4, #0
stmia r4!, {r0, r1}
ldr r0, [r5]
ldr r1, _021DCC10 ; =0x021DF8AC
str r0, [r4]
str r3, [sp]
mov r0, #0x87
str r0, [sp, #4]
ldr r0, _021DCC14 ; =0x0000044C
ldr r0, [r3, r0]
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
nop
_021DCC0C: .word MOD85_021DF6E8
_021DCC10: .word MOD85_021DF8AC
_021DCC14: .word 0x0000044C
thumb_func_end MOD85_021DCBE0
thumb_func_start MOD85_021DCC18
MOD85_021DCC18: ; 0x021DCC18
push {r4, lr}
add r4, r1, #0
bl FUN_0206475C
str r0, [r4, #0x10]
add r0, r4, #0
bl MOD85_021DCD50
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021DCC18
thumb_func_start MOD85_021DCC2C
MOD85_021DCC2C: ; 0x021DCC2C
push {r3, r4, lr}
sub sp, #4
add r4, r1, #0
ldr r0, [r4, #0x18]
cmp r0, #0
beq _021DCC54
mov r1, #3
str r1, [sp]
mov r0, #0x45
ldr r2, [r4, #0x10]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, r1, #0
add r3, r1, #0
bl MOD85_021DEAB4
add r4, #0x14
add r0, r4, #0
bl MOD85_021DECA0
_021DCC54:
add sp, #4
pop {r3, r4, pc}
thumb_func_end MOD85_021DCC2C
thumb_func_start MOD85_021DCC58
MOD85_021DCC58: ; 0x021DCC58
push {r4, lr}
sub sp, #0x28
add r4, r1, #0
ldr r1, [r4]
cmp r1, #3
bhi _021DCCF4
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021DCC70: ; jump table
.short _021DCC78 - _021DCC70 - 2 ; case 0
.short _021DCCBA - _021DCC70 - 2 ; case 1
.short _021DCCD2 - _021DCC70 - 2 ; case 2
.short _021DCCF4 - _021DCC70 - 2 ; case 3
_021DCC78:
ldr r1, [r4, #0xc]
cmp r1, #2
bne _021DCCF4
add r1, sp, #0x1c
bl FUN_0206477C
mov r0, #1
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #5
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4, #0x10]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0x14
add r2, sp, #0x1c
bl MOD85_021DEC00
ldr r0, [r4, #0x18]
mov r1, #1
bl FUN_020200BC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_021DCCBA:
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #0xf
blo _021DCCF4
ldr r0, [r4]
add sp, #0x28
add r0, r0, #1
str r0, [r4]
mov r0, #1
str r0, [r4, #4]
pop {r4, pc}
_021DCCD2:
mov r1, #3
str r1, [sp]
mov r0, #0x45
ldr r2, [r4, #0x10]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, r1, #0
add r3, r1, #0
bl MOD85_021DEAB4
add r0, r4, #0
add r0, #0x14
bl MOD85_021DECA0
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_021DCCF4:
add sp, #0x28
pop {r4, pc}
thumb_func_end MOD85_021DCC58
thumb_func_start MOD85_021DCCF8
MOD85_021DCCF8: ; 0x021DCCF8
bx lr
.align 2, 0
thumb_func_end MOD85_021DCCF8
thumb_func_start MOD85_021DCCFC
MOD85_021DCCFC: ; 0x021DCCFC
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r0, #0
mov r0, #0x45
ldr r4, [r5, #0x10]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #3
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #3
bl MOD85_021DE97C
mov r0, #1
str r0, [r5, #0xc]
add r0, r6, #0
bl FUN_0200CAB4
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DCCFC
thumb_func_start MOD85_021DCD28
MOD85_021DCD28: ; 0x021DCD28
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0xc]
ldr r1, [r4, #0x10]
cmp r0, #1
bne _021DCD4C
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #3
bl MOD85_021DE9B0
mov r0, #2
str r0, [r4, #0xc]
add r0, r5, #0
bl FUN_0200CAB4
_021DCD4C:
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DCD28
thumb_func_start MOD85_021DCD50
MOD85_021DCD50: ; 0x021DCD50
push {r3, r4, r5, lr}
add r5, r0, #0
mov r2, #0x45
ldr r4, [r5, #0x10]
mov r0, #3
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x2c
bl MOD85_021DE840
mov r2, #0x45
mov r0, #3
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x2f
bl MOD85_021DE910
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x2d
mov r3, #3
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x2e
mov r3, #3
bl MOD85_021DEA4C
ldr r0, _021DCDCC ; =MOD85_021DCCFC
ldr r2, _021DCDD0 ; =0x00000101
add r1, r5, #0
bl FUN_0200CA60
cmp r0, #0
bne _021DCDB8
bl GF_AssertFail
_021DCDB8:
ldr r0, _021DCDD4 ; =MOD85_021DCD28
ldr r2, _021DCDD0 ; =0x00000101
add r1, r5, #0
bl FUN_0200CA98
cmp r0, #0
bne _021DCDCA
bl GF_AssertFail
_021DCDCA:
pop {r3, r4, r5, pc}
.align 2, 0
_021DCDCC: .word MOD85_021DCCFC
_021DCDD0: .word 0x00000101
_021DCDD4: .word MOD85_021DCD28
thumb_func_end MOD85_021DCD50
thumb_func_start MOD85_021DCDD8
MOD85_021DCDD8: ; 0x021DCDD8
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r0, #0
mov r0, #0x45
ldr r4, [r5, #0x20]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #4
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #4
bl MOD85_021DE97C
mov r0, #1
str r0, [r5, #0x10]
add r0, r6, #0
bl FUN_0200CAB4
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DCDD8
thumb_func_start MOD85_021DCE04
MOD85_021DCE04: ; 0x021DCE04
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x10]
ldr r1, [r4, #0x20]
cmp r0, #1
bne _021DCE28
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #4
bl MOD85_021DE9B0
mov r0, #2
str r0, [r4, #0x10]
add r0, r5, #0
bl FUN_0200CAB4
_021DCE28:
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DCE04
thumb_func_start MOD85_021DCE2C
MOD85_021DCE2C: ; 0x021DCE2C
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6, #0x18]
mov r2, #0x45
lsl r3, r0, #4
ldr r7, _021DCEB0 ; =0x021DFB00
ldr r4, [r6, #0x20]
mov r0, #4
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
add r5, r7, r3
ldr r2, [r4, r2]
ldr r3, [r7, r3]
mov r1, #2
bl MOD85_021DE840
mov r2, #0x45
mov r0, #4
str r0, [sp]
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
ldr r3, [r5, #4]
mov r1, #2
bl MOD85_021DE910
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
ldr r2, [r5, #8]
mov r3, #4
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
ldr r2, [r5, #0xc]
mov r3, #4
bl MOD85_021DEA4C
ldr r0, _021DCEB4 ; =MOD85_021DCDD8
ldr r2, _021DCEB8 ; =0x00000101
add r1, r6, #0
bl FUN_0200CA60
cmp r0, #0
bne _021DCE9C
bl GF_AssertFail
_021DCE9C:
ldr r0, _021DCEBC ; =MOD85_021DCE04
ldr r2, _021DCEB8 ; =0x00000101
add r1, r6, #0
bl FUN_0200CA98
cmp r0, #0
bne _021DCEAE
bl GF_AssertFail
_021DCEAE:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DCEB0: .word MOD85_021DFB00
_021DCEB4: .word MOD85_021DCDD8
_021DCEB8: .word 0x00000101
_021DCEBC: .word MOD85_021DCE04
thumb_func_end MOD85_021DCE2C
thumb_func_start MOD85_021DCEC0
MOD85_021DCEC0: ; 0x021DCEC0
push {r3, r4, r5, r6, lr}
sub sp, #0x14
ldr r6, _021DCEEC ; =0x021DF838
add r5, sp, #8
add r4, r0, #0
add r3, r1, #0
ldmia r6!, {r0, r1}
add r2, r5, #0
stmia r5!, {r0, r1}
ldr r0, [r6]
ldr r1, _021DCEF0 ; =0x021DF8C0
str r0, [r5]
str r4, [sp]
mov r0, #0x89
str r0, [sp, #4]
ldr r0, _021DCEF4 ; =0x0000044C
ldr r0, [r4, r0]
bl FUN_020644E4
add sp, #0x14
pop {r3, r4, r5, r6, pc}
nop
_021DCEEC: .word MOD85_021DF838
_021DCEF0: .word MOD85_021DF8C0
_021DCEF4: .word 0x0000044C
thumb_func_end MOD85_021DCEC0
thumb_func_start MOD85_021DCEF8
MOD85_021DCEF8: ; 0x021DCEF8
push {r4, lr}
add r4, r1, #0
bl FUN_02064738
str r4, [r0, #4]
mov r1, #0
str r1, [r0, #8]
str r1, [r0, #0xc]
str r1, [r0, #0x14]
pop {r4, pc}
thumb_func_end MOD85_021DCEF8
thumb_func_start MOD85_021DCF0C
MOD85_021DCF0C: ; 0x021DCF0C
push {r3, lr}
bl FUN_02064738
ldr r0, [r0, #0xc]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DCF0C
thumb_func_start MOD85_021DCF18
MOD85_021DCF18: ; 0x021DCF18
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl FUN_0206475C
str r0, [r4, #0x20]
add r0, r5, #0
bl FUN_02064754
str r0, [r4, #0x18]
add r0, r4, #0
bl MOD85_021DCE2C
mov r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DCF18
thumb_func_start MOD85_021DCF38
MOD85_021DCF38: ; 0x021DCF38
push {r3, r4, lr}
sub sp, #4
add r4, r1, #0
ldr r0, [r4, #0x28]
cmp r0, #0
beq _021DCF60
mov r1, #4
str r1, [sp]
mov r0, #0x45
ldr r2, [r4, #0x20]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, r1, #0
add r3, r1, #0
bl MOD85_021DEAB4
add r4, #0x24
add r0, r4, #0
bl MOD85_021DECA0
_021DCF60:
add sp, #4
pop {r3, r4, pc}
thumb_func_end MOD85_021DCF38
thumb_func_start MOD85_021DCF64
MOD85_021DCF64: ; 0x021DCF64
push {r3, r4, r5, lr}
ldr r4, _021DCF80 ; =0x021DFA8C
add r5, r1, #0
_021DCF6A:
ldr r1, [r5, #4]
add r0, r5, #0
lsl r1, r1, #2
ldr r2, [r4, r1]
ldr r1, [r5, #8]
lsl r1, r1, #2
ldr r1, [r2, r1]
blx r1
cmp r0, #1
beq _021DCF6A
pop {r3, r4, r5, pc}
.align 2, 0
_021DCF80: .word MOD85_021DFA8C
thumb_func_end MOD85_021DCF64
thumb_func_start MOD85_021DCF84
MOD85_021DCF84: ; 0x021DCF84
bx lr
.align 2, 0
thumb_func_end MOD85_021DCF84
thumb_func_start MOD85_021DCF88
MOD85_021DCF88: ; 0x021DCF88
push {r4, r5, lr}
sub sp, #0x34
add r4, r0, #0
ldr r0, [r4, #0x10]
cmp r0, #2
bne _021DCFFA
ldr r5, _021DD000 ; =0x021DF6D0
add r3, sp, #0x28
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, sp, #0x1c
str r0, [r3]
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
mov r0, #1
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #6
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4, #0x20]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0x24
bl MOD85_021DEC00
ldr r0, [r4, #0x28]
mov r1, #2
bl FUN_020200EC
ldr r0, [r4, #0x28]
add r1, sp, #0x1c
bl FUN_02020054
mov r0, #0
bl MathUtil_0201B9A0
add r1, r0, #0
ldr r0, [r4, #0x28]
bl FUN_02020088
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
_021DCFFA:
mov r0, #0
add sp, #0x34
pop {r4, r5, pc}
.align 2, 0
_021DD000: .word MOD85_021DF6D0
thumb_func_end MOD85_021DCF88
thumb_func_start MOD85_021DD004
MOD85_021DD004: ; 0x021DD004
mov r0, #0
bx lr
thumb_func_end MOD85_021DD004
thumb_func_start MOD85_021DD008
MOD85_021DD008: ; 0x021DD008
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD05C ; =0x021DF7FC
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD060 ; =0x021DF7F0
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #1
bl FUN_02020130
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200D8
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200BC
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.align 2, 0
_021DD05C: .word MOD85_021DF7FC
_021DD060: .word MOD85_021DF7F0
thumb_func_end MOD85_021DD008
thumb_func_start MOD85_021DD064
MOD85_021DD064: ; 0x021DD064
push {r4, lr}
sub sp, #0x18
add r4, r0, #0
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl MOD85_021DECBC
ldr r0, [r4, #0x28]
add r1, sp, #0
bl MOD85_021DECD0
ldr r0, [sp]
add r0, #0xc0
str r0, [sp]
ldr r0, [sp, #4]
add r0, #0xc0
str r0, [sp, #4]
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
cmp r0, #0x10
blt _021DD0AE
mov r0, #5
lsl r0, r0, #0x12
str r0, [sp, #0x10]
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [r4, #0x14]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0x23
bl FUN_02005578
_021DD0AE:
ldr r0, [r4, #0x28]
add r1, sp, #0
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
mov r0, #0
add sp, #0x18
pop {r4, pc}
thumb_func_end MOD85_021DD064
thumb_func_start MOD85_021DD0C4
MOD85_021DD0C4: ; 0x021DD0C4
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r0, [r4, #0x28]
lsl r1, r1, #0xc
bl FUN_020201E4
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
cmp r0, #9
blt _021DD0EA
mov r0, #0
str r0, [r4, #0x14]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
_021DD0EA:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DD0C4
thumb_func_start MOD85_021DD0F0
MOD85_021DD0F0: ; 0x021DD0F0
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD14C ; =0x021DF7D8
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD150 ; =0x021DF7CC
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #1
bl FUN_02020130
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200D8
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200BC
ldr r0, _021DD154 ; =0x000006D1
bl PlaySE
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_021DD14C: .word MOD85_021DF7D8
_021DD150: .word MOD85_021DF7CC
_021DD154: .word 0x000006D1
thumb_func_end MOD85_021DD0F0
thumb_func_start MOD85_021DD158
MOD85_021DD158: ; 0x021DD158
push {r4, lr}
sub sp, #0x18
add r4, r0, #0
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl MOD85_021DECBC
ldr r0, [r4, #0x28]
add r1, sp, #0
bl MOD85_021DECD0
mov r0, #6
ldr r1, [sp]
lsl r0, r0, #6
sub r1, r1, r0
str r1, [sp]
ldr r1, [sp, #4]
sub r0, r1, r0
str r0, [sp, #4]
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
cmp r0, #8
blt _021DD1A4
mov r0, #0x1d
lsl r0, r0, #0x10
str r0, [sp, #0x10]
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [r4, #0x14]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
_021DD1A4:
ldr r0, [r4, #0x28]
add r1, sp, #0
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
mov r0, #0
add sp, #0x18
pop {r4, pc}
.align 2, 0
thumb_func_end MOD85_021DD158
thumb_func_start MOD85_021DD1BC
MOD85_021DD1BC: ; 0x021DD1BC
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD21C ; =0x021DF7B4
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD220 ; =0x021DF7A8
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_02020130
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200BC
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200D8
ldr r0, [r4, #0x28]
bl FUN_02020198
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_021DD21C: .word MOD85_021DF7B4
_021DD220: .word MOD85_021DF7A8
thumb_func_end MOD85_021DD1BC
thumb_func_start MOD85_021DD224
MOD85_021DD224: ; 0x021DD224
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD290 ; =0x021DF760
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD294 ; =0x021DF6DC
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #1
bl FUN_020200BC
mov r1, #2
ldr r0, [r4, #0x28]
lsl r1, r1, #0xa
bl FUN_020200D8
ldr r0, [r4, #0x28]
bl FUN_020201DC
cmp r0, #2
beq _021DD27E
ldr r0, [r4, #0x28]
mov r1, #2
bl FUN_02020130
ldr r0, [r4, #0x28]
bl FUN_02020198
_021DD27E:
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_021DD290: .word MOD85_021DF760
_021DD294: .word MOD85_021DF6DC
thumb_func_end MOD85_021DD224
thumb_func_start MOD85_021DD298
MOD85_021DD298: ; 0x021DD298
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD2F8 ; =0x021DF67C
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD2FC ; =0x021DF850
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #5
bl FUN_02020130
ldr r0, [r4, #0x28]
mov r1, #1
bl FUN_020200BC
mov r1, #1
ldr r0, [r4, #0x28]
lsl r1, r1, #0xc
bl FUN_020200D8
ldr r0, [r4, #0x28]
bl FUN_02020198
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.align 2, 0
_021DD2F8: .word MOD85_021DF67C
_021DD2FC: .word MOD85_021DF850
thumb_func_end MOD85_021DD298
thumb_func_start MOD85_021DD300
MOD85_021DD300: ; 0x021DD300
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD360 ; =0x021DF688
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD364 ; =0x021DF73C
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #4
bl FUN_02020130
ldr r0, [r4, #0x28]
mov r1, #1
bl FUN_020200BC
mov r1, #1
ldr r0, [r4, #0x28]
lsl r1, r1, #0xc
bl FUN_020200D8
ldr r0, [r4, #0x28]
bl FUN_02020198
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.align 2, 0
_021DD360: .word MOD85_021DF688
_021DD364: .word MOD85_021DF73C
thumb_func_end MOD85_021DD300
thumb_func_start MOD85_021DD368
MOD85_021DD368: ; 0x021DD368
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD3C8 ; =0x021DF718
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD3CC ; =0x021DF724
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #3
bl FUN_02020130
ldr r0, [r4, #0x28]
mov r1, #1
bl FUN_020200BC
mov r1, #1
ldr r0, [r4, #0x28]
lsl r1, r1, #0xc
bl FUN_020200D8
ldr r0, [r4, #0x28]
bl FUN_02020198
mov r0, #1
str r0, [r4, #0xc]
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.align 2, 0
_021DD3C8: .word MOD85_021DF718
_021DD3CC: .word MOD85_021DF724
thumb_func_end MOD85_021DD368
thumb_func_start MOD85_021DD3D0
MOD85_021DD3D0: ; 0x021DD3D0
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _021DD434 ; =0x021DF778
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0xc
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r5, _021DD438 ; =0x021DF604
str r0, [r2]
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
ldr r0, [r4, #0x28]
bl FUN_02020064
ldr r0, [r4, #0x28]
add r1, sp, #0xc
bl FUN_02020044
ldr r0, [r4, #0x28]
mov r1, #0
bl FUN_020200BC
mov r1, #1
ldr r0, [r4, #0x28]
lsl r1, r1, #0xc
bl FUN_020200D8
ldr r0, [r4, #0x28]
mov r1, #5
bl FUN_02020130
ldr r0, [r4, #0x28]
bl FUN_02020198
mov r0, #0
str r0, [r4, #0x14]
mov r1, #1
str r1, [r4, #0xc]
ldr r1, [r4, #8]
add r1, r1, #1
str r1, [r4, #8]
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_021DD434: .word MOD85_021DF778
_021DD438: .word MOD85_021DF604
thumb_func_end MOD85_021DD3D0
thumb_func_start MOD85_021DD43C
MOD85_021DD43C: ; 0x021DD43C
push {r4, lr}
add r4, r0, #0
mov r1, #1
ldr r0, [r4, #0x28]
lsl r1, r1, #0xc
bl FUN_020201E4
ldr r0, [r4, #0x28]
bl FUN_02020388
cmp r0, #0
bne _021DD468
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
cmp r0, #8
blt _021DD468
mov r0, #0
str r0, [r4, #0x14]
ldr r0, [r4, #0x28]
bl FUN_02020198
_021DD468:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD85_021DD43C
thumb_func_start MOD85_021DD46C
MOD85_021DD46C: ; 0x021DD46C
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r0, #0
mov r0, #0x45
ldr r4, [r5, #0x2c]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #5
bl MOD85_021DE8A8
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #5
bl MOD85_021DE97C
mov r0, #1
str r0, [r5, #0x10]
add r0, r6, #0
bl FUN_0200CAB4
pop {r4, r5, r6, pc}
thumb_func_end MOD85_021DD46C
thumb_func_start MOD85_021DD498
MOD85_021DD498: ; 0x021DD498
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, [r4, #0x2c]
add r5, r0, #0
mov r0, #1
str r0, [r4, #0x10]
ldr r0, [r4, #0x10]
cmp r0, #0
beq _021DD4C0
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #5
bl MOD85_021DE9B0
mov r0, #2
str r0, [r4, #0x10]
add r0, r5, #0
bl FUN_0200CAB4
_021DD4C0:
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DD498
thumb_func_start MOD85_021DD4C4
MOD85_021DD4C4: ; 0x021DD4C4
push {r3, r4, r5, lr}
add r5, r0, #0
mov r2, #0x45
ldr r4, [r5, #0x2c]
mov r0, #5
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x38
bl MOD85_021DE840
mov r2, #0x45
mov r0, #5
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #2
mov r3, #0x3b
bl MOD85_021DE910
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x39
mov r3, #5
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x3a
mov r3, #5
bl MOD85_021DEA4C
ldr r0, _021DD540 ; =MOD85_021DD46C
ldr r2, _021DD544 ; =0x00000101
add r1, r5, #0
bl FUN_0200CA60
cmp r0, #0
bne _021DD52C
bl GF_AssertFail
_021DD52C:
ldr r0, _021DD548 ; =MOD85_021DD498
ldr r2, _021DD544 ; =0x00000101
add r1, r5, #0
bl FUN_0200CA98
cmp r0, #0
bne _021DD53E
bl GF_AssertFail
_021DD53E:
pop {r3, r4, r5, pc}
.align 2, 0
_021DD540: .word MOD85_021DD46C
_021DD544: .word 0x00000101
_021DD548: .word MOD85_021DD498
thumb_func_end MOD85_021DD4C4
thumb_func_start MOD85_021DD54C
MOD85_021DD54C: ; 0x021DD54C
push {lr}
sub sp, #0x14
add r2, sp, #8
mov r3, #0
str r3, [r2]
str r3, [r2, #4]
str r3, [r2, #8]
str r0, [sp]
mov r1, #0x88
str r1, [sp, #4]
ldr r1, _021DD570 ; =0x0000044C
ldr r0, [r0, r1]
ldr r1, _021DD574 ; =0x021DF8D4
bl FUN_020644E4
add sp, #0x14
pop {pc}
nop
_021DD570: .word 0x0000044C
_021DD574: .word MOD85_021DF8D4
thumb_func_end MOD85_021DD54C
thumb_func_start MOD85_021DD578
MOD85_021DD578: ; 0x021DD578
push {r3, lr}
bl FUN_02064738
ldr r0, [r0, #4]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DD578
thumb_func_start MOD85_021DD584
MOD85_021DD584: ; 0x021DD584
push {r4, lr}
add r4, r1, #0
bl FUN_0206475C
str r0, [r4, #0x2c]
add r0, r4, #0
bl MOD85_021DD4C4
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021DD584
thumb_func_start MOD85_021DD598
MOD85_021DD598: ; 0x021DD598
push {r3, r4, lr}
sub sp, #4
add r4, r1, #0
ldr r0, [r4, #0x34]
cmp r0, #0
beq _021DD5CE
mov r1, #5
str r1, [sp]
mov r0, #0x45
ldr r2, [r4, #0x2c]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, r1, #0
add r3, r1, #0
bl MOD85_021DEAB4
add r0, r4, #0
add r0, #0x30
bl MOD85_021DECA0
ldr r0, [r4, #0x40]
cmp r0, #0
beq _021DD5CE
add r4, #0x3c
add r0, r4, #0
bl MOD85_021DECA0
_021DD5CE:
add sp, #4
pop {r3, r4, pc}
.align 2, 0
thumb_func_end MOD85_021DD598
thumb_func_start MOD85_021DD5D4
MOD85_021DD5D4: ; 0x021DD5D4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r1, #0
add r1, sp, #0xc
add r7, r0, #0
add r4, r2, #0
add r6, r3, #0
bl FUN_0206477C
ldr r0, [sp, #0xc]
ldr r1, [sp, #0x10]
add r0, r0, r6
str r0, [sp, #0xc]
ldr r0, [sp, #0x30]
add r0, r1, r0
str r0, [sp, #0x10]
add r0, r7, #0
add r1, sp, #0xc
bl FUN_0206476C
ldr r0, [sp, #0x38]
cmp r0, #0
bne _021DD60A
ldr r0, [sp, #0xc]
add r0, r5, r0
str r0, [sp]
b _021DD610
_021DD60A:
ldr r0, [sp, #0xc]
sub r0, r5, r0
str r0, [sp]
_021DD610:
ldr r0, [sp, #0x10]
add r1, sp, #0
sub r0, r4, r0
str r0, [sp, #4]
ldr r0, [sp, #0x34]
bl FUN_02020044
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DD5D4
thumb_func_start MOD85_021DD624
MOD85_021DD624: ; 0x021DD624
push {r4, r5, r6, lr}
sub sp, #0x40
add r4, r1, #0
ldr r1, [r4]
add r6, r0, #0
cmp r1, #0xa
bls _021DD634
b _021DD96C
_021DD634:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021DD640: ; jump table
.short _021DD656 - _021DD640 - 2 ; case 0
.short _021DD6C8 - _021DD640 - 2 ; case 1
.short _021DD750 - _021DD640 - 2 ; case 2
.short _021DD764 - _021DD640 - 2 ; case 3
.short _021DD796 - _021DD640 - 2 ; case 4
.short _021DD7C8 - _021DD640 - 2 ; case 5
.short _021DD7FA - _021DD640 - 2 ; case 6
.short _021DD842 - _021DD640 - 2 ; case 7
.short _021DD858 - _021DD640 - 2 ; case 8
.short _021DD8A4 - _021DD640 - 2 ; case 9
.short _021DD904 - _021DD640 - 2 ; case 10
_021DD656:
ldr r0, [r4, #0x10]
cmp r0, #2
beq _021DD65E
b _021DD96C
_021DD65E:
ldr r5, _021DD970 ; =0x021DF82C
add r3, sp, #0x34
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
str r0, [r3]
mov r0, #1
str r0, [sp]
mov r0, #5
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #4
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4, #0x2c]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0x30
bl MOD85_021DEC00
mov r0, #1
str r0, [sp]
mov r0, #5
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #4
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4, #0x2c]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0x3c
add r2, sp, #0x34
bl MOD85_021DEC00
ldr r0, [r4, #0x40]
mov r1, #1
bl FUN_02020100
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_021DD6C8:
add r0, r6, #0
add r1, sp, #0x28
mov r5, #0
bl FUN_0206477C
mov r1, #2
ldr r2, [sp, #0x2c]
lsl r1, r1, #0xe
ldr r0, [sp, #0x28]
add r2, r2, r1
add r0, r0, r1
str r2, [sp, #0x2c]
lsl r2, r1, #3
str r0, [sp, #0x28]
cmp r0, r2
blt _021DD6EE
add r0, r2, #0
str r0, [sp, #0x28]
add r5, r5, #1
_021DD6EE:
mov r0, #0xe
ldr r1, [sp, #0x2c]
lsl r0, r0, #0xe
cmp r1, r0
blt _021DD700
mov r0, #1
lsl r0, r0, #0x12
str r0, [sp, #0x2c]
add r5, r5, #1
_021DD700:
add r0, r6, #0
add r1, sp, #0x28
bl FUN_0206476C
mov r0, #2
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
sub r0, r1, r0
str r0, [sp, #0x1c]
mov r0, #0x69
ldr r1, [sp, #0x2c]
lsl r0, r0, #0xe
sub r0, r0, r1
str r0, [sp, #0x20]
ldr r0, [r4, #0x34]
add r1, sp, #0x1c
bl FUN_02020044
mov r0, #0x12
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
sub r0, r0, r1
str r0, [sp, #0x1c]
mov r0, #0x69
ldr r1, [sp, #0x2c]
lsl r0, r0, #0xe
sub r0, r0, r1
str r0, [sp, #0x20]
ldr r0, [r4, #0x40]
add r1, sp, #0x1c
bl FUN_02020044
cmp r5, #2
beq _021DD746
b _021DD96C
_021DD746:
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD750:
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #8
blo _021DD84C
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_021DD764:
ldr r3, _021DD974 ; =0xFFFFC000
mov r2, #0x69
str r3, [sp]
ldr r0, [r4, #0x34]
lsl r1, r3, #3
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r6, #0
lsl r2, r2, #0xe
asr r3, r3, #1
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD84C
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD796:
mov r3, #1
lsl r3, r3, #0xe
str r3, [sp]
ldr r1, [r4, #0x34]
mov r2, #0x69
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r1, _021DD978 ; =0xFFFE0000
lsl r2, r2, #0xe
lsr r3, r3, #1
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD84C
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD7C8:
ldr r3, _021DD974 ; =0xFFFFC000
mov r2, #0x69
str r3, [sp]
ldr r1, [r4, #0x40]
lsl r2, r2, #0xe
str r1, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r1, #0x12
lsl r1, r1, #0x10
asr r3, r3, #1
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD84C
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD7FA:
mov r1, #1
lsl r1, r1, #0xe
str r1, [sp]
ldr r1, [r4, #0x40]
mov r2, #0x69
str r1, [sp, #4]
mov r3, #1
mov r1, #0x12
str r3, [sp, #8]
lsl r1, r1, #0x10
lsl r2, r2, #0xe
lsl r3, r3, #0xd
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD84C
mov r1, #0
str r1, [r4, #8]
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
cmp r0, #2
bhs _021DD836
mov r0, #3
add sp, #0x40
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD836:
str r1, [r4, #0xc]
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD842:
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #8
bhs _021DD84E
_021DD84C:
b _021DD96C
_021DD84E:
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_021DD858:
ldr r3, _021DD974 ; =0xFFFFC000
mov r2, #0x69
str r3, [sp]
ldr r0, [r4, #0x34]
lsl r1, r3, #3
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r6, #0
lsl r2, r2, #0xe
asr r3, r3, #1
bl MOD85_021DD5D4
mov r3, #0
str r3, [sp]
ldr r0, [r4, #0x40]
mov r1, #0x12
str r0, [sp, #4]
mov r0, #1
mov r2, #0x69
str r0, [sp, #8]
add r0, r6, #0
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD96C
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD8A4:
mov r3, #1
lsl r3, r3, #0xe
str r3, [sp]
ldr r1, [r4, #0x34]
mov r2, #0x69
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r1, _021DD978 ; =0xFFFE0000
lsl r2, r2, #0xe
lsr r3, r3, #1
bl MOD85_021DD5D4
mov r3, #0
str r3, [sp]
ldr r0, [r4, #0x40]
mov r1, #0x12
str r0, [sp, #4]
mov r0, #1
mov r2, #0x69
str r0, [sp, #8]
add r0, r6, #0
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD96C
mov r1, #0
str r1, [r4, #8]
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
cmp r0, #2
bhs _021DD8F8
mov r0, #8
add sp, #0x40
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD8F8:
str r1, [r4, #0xc]
ldr r0, [r4]
add sp, #0x40
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, pc}
_021DD904:
ldr r3, _021DD97C ; =0xFFFF8000
mov r2, #0x69
str r3, [sp]
ldr r1, [r4, #0x34]
lsl r2, r2, #0xe
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
lsl r1, r3, #2
bl MOD85_021DD5D4
mov r3, #0
str r3, [sp]
ldr r0, [r4, #0x40]
mov r1, #0x12
str r0, [sp, #4]
mov r0, #1
mov r2, #0x69
str r0, [sp, #8]
add r0, r6, #0
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl MOD85_021DD5D4
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #4
blo _021DD962
add r0, r4, #0
add r0, #0x30
bl MOD85_021DECA0
add r0, r4, #0
add r0, #0x3c
bl MOD85_021DECA0
mov r1, #5
str r1, [sp]
mov r0, #0x45
ldr r2, [r4, #0x2c]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, r1, #0
add r3, r1, #0
bl MOD85_021DEAB4
_021DD962:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
mov r0, #1
str r0, [r4, #4]
_021DD96C:
add sp, #0x40
pop {r4, r5, r6, pc}
.align 2, 0
_021DD970: .word MOD85_021DF82C
_021DD974: .word 0xFFFFC000
_021DD978: .word 0xFFFE0000
_021DD97C: .word 0xFFFF8000
thumb_func_end MOD85_021DD624
thumb_func_start MOD85_021DD980
MOD85_021DD980: ; 0x021DD980
bx lr
.align 2, 0
thumb_func_end MOD85_021DD980
thumb_func_start MOD85_021DD984
MOD85_021DD984: ; 0x021DD984
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DD9B0 ; =0x021DF6B8
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
add r2, r4, #0
stmia r4!, {r0, r1}
ldr r0, [r5]
ldr r1, _021DD9B4 ; =0x021DF8E8
str r0, [r4]
str r3, [sp]
mov r0, #0x8e
str r0, [sp, #4]
ldr r0, _021DD9B8 ; =0x0000044C
ldr r0, [r3, r0]
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
nop
_021DD9B0: .word MOD85_021DF6B8
_021DD9B4: .word MOD85_021DF8E8
_021DD9B8: .word 0x0000044C
thumb_func_end MOD85_021DD984
thumb_func_start MOD85_021DD9BC
MOD85_021DD9BC: ; 0x021DD9BC
push {r3, r4, r5, lr}
sub sp, #0x28
add r5, r0, #0
add r4, r1, #0
bl FUN_0206475C
str r0, [r4]
add r0, r5, #0
add r1, sp, #0x1c
bl FUN_0206477C
mov r0, #0
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #4
add r2, sp, #0x1c
bl MOD85_021DEC00
ldr r0, [r4, #8]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DD9BC
thumb_func_start MOD85_021DDA08
MOD85_021DDA08: ; 0x021DDA08
ldr r3, _021DDA10 ; =MOD85_021DECA0
add r0, r1, #4
bx r3
nop
_021DDA10: .word MOD85_021DECA0
thumb_func_end MOD85_021DDA08
thumb_func_start MOD85_021DDA14
MOD85_021DDA14: ; 0x021DDA14
mov r0, #0x52
ldr r2, [r1]
lsl r0, r0, #2
ldr r0, [r2, r0]
mov r3, #1
cmp r0, #1
bne _021DDA24
mov r3, #0
_021DDA24:
ldr r0, [r1, #8]
add r1, r3, #0
ldr r3, _021DDA2C ; =FUN_020200A0
bx r3
.align 2, 0
_021DDA2C: .word FUN_020200A0
thumb_func_end MOD85_021DDA14
thumb_func_start MOD85_021DDA30
MOD85_021DDA30: ; 0x021DDA30
push {lr}
sub sp, #0x14
mov r1, #0x15
lsl r1, r1, #0xe
str r1, [sp, #8]
mov r1, #0x13
lsl r1, r1, #0x10
str r1, [sp, #0xc]
str r0, [sp]
mov r1, #0x8e
str r1, [sp, #4]
ldr r1, _021DDA58 ; =0x0000044C
add r2, sp, #8
ldr r0, [r0, r1]
ldr r1, _021DDA5C ; =0x021DF924
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {pc}
.align 2, 0
_021DDA58: .word 0x0000044C
_021DDA5C: .word MOD85_021DF924
thumb_func_end MOD85_021DDA30
thumb_func_start MOD85_021DDA60
MOD85_021DDA60: ; 0x021DDA60
push {r3, r4, r5, lr}
sub sp, #0x40
add r5, r0, #0
add r4, r1, #0
add r1, sp, #0x28
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
ldr r3, _021DDAEC ; =0x021DF6A0
str r0, [r1, #8]
ldmia r3!, {r0, r1}
add r2, sp, #0x1c
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r5, #0
bl FUN_0206475C
str r0, [r4, #4]
add r0, r5, #0
add r1, sp, #0x34
bl FUN_0206477C
mov r0, #0
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4, #4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #8
add r2, sp, #0x34
bl MOD85_021DEC00
ldr r0, [r4, #0xc]
mov r1, #2
bl FUN_020200EC
ldr r0, [r4, #0xc]
add r1, sp, #0x28
bl FUN_02020054
ldr r0, [r4, #0xc]
add r1, sp, #0x1c
bl FUN_02020064
mov r0, #0
bl MathUtil_0201B9A0
add r1, r0, #0
ldr r0, [r4, #0xc]
bl FUN_02020088
ldr r0, [r4, #0xc]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x40
pop {r3, r4, r5, pc}
nop
_021DDAEC: .word MOD85_021DF6A0
thumb_func_end MOD85_021DDA60
thumb_func_start MOD85_021DDAF0
MOD85_021DDAF0: ; 0x021DDAF0
ldr r3, _021DDAF8 ; =MOD85_021DECA0
add r1, #8
add r0, r1, #0
bx r3
.align 2, 0
_021DDAF8: .word MOD85_021DECA0
thumb_func_end MOD85_021DDAF0
thumb_func_start MOD85_021DDAFC
MOD85_021DDAFC: ; 0x021DDAFC
push {r3, lr}
ldr r2, [r1]
add r2, r2, #1
str r2, [r1]
cmp r2, #0x2d
blt _021DDB0C
bl FUN_02064520
_021DDB0C:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DDAFC
thumb_func_start MOD85_021DDB10
MOD85_021DDB10: ; 0x021DDB10
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DDB3C ; =0x021DF790
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
add r2, r4, #0
stmia r4!, {r0, r1}
ldr r0, [r5]
ldr r1, _021DDB40 ; =0x021DF988
str r0, [r4]
str r3, [sp]
mov r0, #0x8e
str r0, [sp, #4]
ldr r0, _021DDB44 ; =0x0000044C
ldr r0, [r3, r0]
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
nop
_021DDB3C: .word MOD85_021DF790
_021DDB40: .word MOD85_021DF988
_021DDB44: .word 0x0000044C
thumb_func_end MOD85_021DDB10
thumb_func_start MOD85_021DDB48
MOD85_021DDB48: ; 0x021DDB48
push {r3, r4, r5, lr}
sub sp, #0x28
add r5, r0, #0
add r4, r1, #0
bl FUN_0206475C
str r0, [r4]
add r0, r5, #0
add r1, sp, #0x1c
bl FUN_0206477C
mov r0, #0
str r0, [sp]
mov r1, #7
str r1, [sp, #4]
mov r0, #6
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #4
add r2, sp, #0x1c
bl MOD85_021DEC00
ldr r0, [r4, #8]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, pc}
thumb_func_end MOD85_021DDB48
thumb_func_start MOD85_021DDB94
MOD85_021DDB94: ; 0x021DDB94
ldr r3, _021DDB9C ; =MOD85_021DECA0
add r0, r1, #4
bx r3
nop
_021DDB9C: .word MOD85_021DECA0
thumb_func_end MOD85_021DDB94
thumb_func_start MOD85_021DDBA0
MOD85_021DDBA0: ; 0x021DDBA0
mov r0, #0x52
ldr r2, [r1]
lsl r0, r0, #2
ldr r0, [r2, r0]
mov r3, #1
cmp r0, #1
bne _021DDBB0
mov r3, #0
_021DDBB0:
ldr r0, [r1, #8]
add r1, r3, #0
ldr r3, _021DDBB8 ; =FUN_020200A0
bx r3
.align 2, 0
_021DDBB8: .word FUN_020200A0
thumb_func_end MOD85_021DDBA0
thumb_func_start MOD85_021DDBBC
MOD85_021DDBBC: ; 0x021DDBBC
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DDBF0 ; =0x021DF64C
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
add r2, r4, #0
stmia r4!, {r0, r1}
ldr r0, [r5]
ldr r1, _021DDBF4 ; =0x021DF9B0
str r0, [r4]
mov r0, #0x11
lsl r0, r0, #0xe
str r0, [sp, #8]
lsl r0, r0, #2
str r0, [sp, #0xc]
str r3, [sp]
mov r0, #0x8e
str r0, [sp, #4]
ldr r0, _021DDBF8 ; =0x0000044C
ldr r0, [r3, r0]
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
.align 2, 0
_021DDBF0: .word MOD85_021DF64C
_021DDBF4: .word MOD85_021DF9B0
_021DDBF8: .word 0x0000044C
thumb_func_end MOD85_021DDBBC
thumb_func_start MOD85_021DDBFC
MOD85_021DDBFC: ; 0x021DDBFC
push {r3, r4, r5, lr}
sub sp, #0x40
add r5, r0, #0
add r4, r1, #0
add r1, sp, #0x28
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
ldr r3, _021DDC88 ; =0x021DF748
str r0, [r1, #8]
ldmia r3!, {r0, r1}
add r2, sp, #0x1c
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r5, #0
bl FUN_0206475C
str r0, [r4, #4]
add r0, r5, #0
add r1, sp, #0x34
bl FUN_0206477C
mov r0, #0
str r0, [sp]
mov r1, #7
str r1, [sp, #4]
mov r0, #6
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
mov r3, #2
str r3, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r4, #4]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #8
add r2, sp, #0x34
bl MOD85_021DEC00
ldr r0, [r4, #0xc]
mov r1, #2
bl FUN_020200EC
ldr r0, [r4, #0xc]
add r1, sp, #0x28
bl FUN_02020054
ldr r0, [r4, #0xc]
add r1, sp, #0x1c
bl FUN_02020064
mov r0, #0
bl MathUtil_0201B9A0
add r1, r0, #0
ldr r0, [r4, #0xc]
bl FUN_02020088
ldr r0, [r4, #0xc]
mov r1, #1
bl FUN_020200BC
mov r0, #1
add sp, #0x40
pop {r3, r4, r5, pc}
.align 2, 0
_021DDC88: .word MOD85_021DF748
thumb_func_end MOD85_021DDBFC
thumb_func_start MOD85_021DDC8C
MOD85_021DDC8C: ; 0x021DDC8C
ldr r3, _021DDC94 ; =MOD85_021DECA0
add r1, #8
add r0, r1, #0
bx r3
.align 2, 0
_021DDC94: .word MOD85_021DECA0
thumb_func_end MOD85_021DDC8C
thumb_func_start MOD85_021DDC98
MOD85_021DDC98: ; 0x021DDC98
push {r3, lr}
ldr r2, [r1]
add r2, r2, #1
str r2, [r1]
cmp r2, #0x2d
blt _021DDCA8
bl FUN_02064520
_021DDCA8:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DDC98
thumb_func_start MOD85_021DDCAC
MOD85_021DDCAC: ; 0x021DDCAC
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DDCD8 ; =0x021DF610
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
add r2, r4, #0
stmia r4!, {r0, r1}
ldr r0, [r5]
ldr r1, _021DDCDC ; =0x021DF898
str r0, [r4]
str r3, [sp]
mov r0, #0x8e
str r0, [sp, #4]
ldr r0, _021DDCE0 ; =0x0000044C
ldr r0, [r3, r0]
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
nop
_021DDCD8: .word MOD85_021DF610
_021DDCDC: .word MOD85_021DF898
_021DDCE0: .word 0x0000044C
thumb_func_end MOD85_021DDCAC
thumb_func_start MOD85_021DDCE4
MOD85_021DDCE4: ; 0x021DDCE4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r4, r0, #0
add r7, r1, #0
bl FUN_0206475C
str r0, [r7]
add r0, r4, #0
add r1, sp, #0x1c
bl FUN_0206477C
mov r6, #0
add r4, r7, #4
add r5, r7, #0
_021DDD00:
mov r0, #0
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, #8
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #2
str r0, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r7]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r2, sp, #0x1c
mov r3, #2
bl MOD85_021DEC00
ldr r0, [r5, #8]
mov r1, #0
bl FUN_020200A0
ldr r0, [r5, #8]
mov r1, #1
bl FUN_020200BC
add r6, r6, #1
add r4, #0xc
add r5, #0xc
cmp r6, #2
blt _021DDD00
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DDCE4
thumb_func_start MOD85_021DDD4C
MOD85_021DDD4C: ; 0x021DDD4C
push {r4, lr}
add r4, r1, #0
add r0, r4, #4
bl MOD85_021DECA0
add r4, #0x10
add r0, r4, #0
bl MOD85_021DECA0
pop {r4, pc}
thumb_func_end MOD85_021DDD4C
thumb_func_start MOD85_021DDD60
MOD85_021DDD60: ; 0x021DDD60
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r1, #0
mov r0, #0x4f
ldr r1, [r5]
lsl r0, r0, #2
add r4, r1, r0
ldr r0, [r5, #8]
mov r1, #0
bl FUN_020200A0
ldr r0, [r5, #0x14]
mov r1, #0
bl FUN_020200A0
ldr r0, [r4, #0xc]
cmp r0, #1
beq _021DDE06
ldr r3, _021DDE0C ; =0x021DF76C
add r2, sp, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r6, #0
str r0, [r2]
ldr r0, [r5]
ldr r7, [r0, #0x10]
cmp r7, #0x63
bls _021DDD9C
mov r7, #0x63
_021DDD9C:
add r0, r7, #0
mov r1, #0x64
bl _u32_div_f
add r0, r1, #0
mov r1, #0xa
bl _u32_div_f
add r4, r0, #0
beq _021DDDDA
ldr r0, [r5, #8]
add r1, sp, #0
bl FUN_02020044
ldr r0, [r5, #8]
add r1, r4, #0
bl FUN_02020130
ldr r0, [r5, #8]
bl FUN_02020198
ldr r0, [r5, #8]
mov r1, #1
bl FUN_020200A0
mov r0, #2
ldr r1, [sp]
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp]
add r6, r6, #1
_021DDDDA:
mov r0, #0xc
add r4, r6, #0
add r5, #8
mul r4, r0
ldr r0, [r5, r4]
add r1, sp, #0
bl FUN_02020044
add r0, r7, #0
mov r1, #0xa
bl _u32_div_f
ldr r0, [r5, r4]
bl FUN_02020130
ldr r0, [r5, r4]
bl FUN_02020198
ldr r0, [r5, r4]
mov r1, #1
bl FUN_020200A0
_021DDE06:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_021DDE0C: .word MOD85_021DF76C
thumb_func_end MOD85_021DDD60
thumb_func_start MOD85_021DDE10
MOD85_021DDE10: ; 0x021DDE10
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DDE3C ; =0x021DF844
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
add r2, r4, #0
stmia r4!, {r0, r1}
ldr r0, [r5]
ldr r1, _021DDE40 ; =0x021DF8FC
str r0, [r4]
str r3, [sp]
mov r0, #0x8e
str r0, [sp, #4]
ldr r0, _021DDE44 ; =0x0000044C
ldr r0, [r3, r0]
mov r3, #0
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
nop
_021DDE3C: .word MOD85_021DF844
_021DDE40: .word MOD85_021DF8FC
_021DDE44: .word 0x0000044C
thumb_func_end MOD85_021DDE10
thumb_func_start MOD85_021DDE48
MOD85_021DDE48: ; 0x021DDE48
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
ldr r3, _021DDEAC ; =0x021DF6C4
add r4, r0, #0
add r6, r1, #0
ldmia r3!, {r0, r1}
add r2, sp, #0x1c
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r4, #0
bl FUN_0206475C
str r0, [r6]
mov r4, #0
add r5, r6, #4
mov r7, #2
_021DDE6A:
mov r0, #0
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, #8
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r6]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r5, #0
add r2, sp, #0x1c
add r3, r7, #0
bl MOD85_021DEC00
mov r0, #2
ldr r1, [sp, #0x1c]
lsl r0, r0, #0xe
add r0, r1, r0
add r4, r4, #1
add r5, #0xc
str r0, [sp, #0x1c]
cmp r4, #5
blt _021DDE6A
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DDEAC: .word MOD85_021DF6C4
thumb_func_end MOD85_021DDE48
thumb_func_start MOD85_021DDEB0
MOD85_021DDEB0: ; 0x021DDEB0
push {r3, r4, r5, lr}
mov r4, #0
add r5, r1, #4
_021DDEB6:
add r0, r5, #0
bl MOD85_021DECA0
add r4, r4, #1
add r5, #0xc
cmp r4, #5
blt _021DDEB6
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DDEB0
thumb_func_start MOD85_021DDEC8
MOD85_021DDEC8: ; 0x021DDEC8
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
mov r0, #0x52
ldr r1, [r5]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r7, #1
cmp r0, #1
bne _021DDEDC
mov r7, #0
_021DDEDC:
mov r6, #0
add r4, r5, #0
_021DDEE0:
ldr r0, [r4, #8]
add r1, r7, #0
bl FUN_020200A0
add r6, r6, #1
add r4, #0xc
cmp r6, #5
blt _021DDEE0
cmp r7, #0
beq _021DDF34
ldr r0, [r5]
ldr r6, [r0, #0x14]
ldr r0, _021DDF38 ; =0x0000C350
cmp r6, r0
ble _021DDF00
add r6, r0, #0
_021DDF00:
ldr r4, _021DDF3C ; =0x00002710
mov r7, #0xa
_021DDF04:
add r1, r4, #0
add r0, r6, #0
mul r1, r7
bl _s32_div_f
add r0, r1, #0
add r1, r4, #0
bl _s32_div_f
add r1, r0, #0
ldr r0, [r5, #8]
bl FUN_02020130
ldr r0, [r5, #8]
bl FUN_02020198
add r0, r4, #0
mov r1, #0xa
bl _s32_div_f
add r4, r0, #0
add r5, #0xc
cmp r4, #1
bge _021DDF04
_021DDF34:
pop {r3, r4, r5, r6, r7, pc}
nop
_021DDF38: .word 0x0000C350
_021DDF3C: .word 0x00002710
thumb_func_end MOD85_021DDEC8
thumb_func_start MOD85_021DDF40
MOD85_021DDF40: ; 0x021DDF40
push {lr}
sub sp, #0x14
add r3, r1, #0
add r2, sp, #8
mov r1, #0
str r1, [r2]
str r1, [r2, #4]
str r1, [r2, #8]
str r0, [sp]
mov r1, #0x8e
str r1, [sp, #4]
ldr r1, _021DDF64 ; =0x0000044C
ldr r0, [r0, r1]
ldr r1, _021DDF68 ; =0x021DF99C
bl FUN_020644E4
add sp, #0x14
pop {pc}
.align 2, 0
_021DDF64: .word 0x0000044C
_021DDF68: .word MOD85_021DF99C
thumb_func_end MOD85_021DDF40
thumb_func_start MOD85_021DDF6C
MOD85_021DDF6C: ; 0x021DDF6C
push {r4, r5, r6, r7, lr}
sub sp, #0x44
add r6, r0, #0
add r5, r1, #0
add r1, sp, #0x2c
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
ldr r3, _021DE0D0 ; =0x021DF79C
str r0, [r1, #8]
ldmia r3!, {r0, r1}
add r2, sp, #0x20
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r6, #0
bl FUN_0206475C
add r4, r0, #0
add r0, r6, #0
bl FUN_02064754
str r0, [r5]
str r4, [r5, #0x14]
ldr r0, [r5]
cmp r0, #0
bne _021DDFD6
ldr r1, [r4, #0x1c]
ldr r0, _021DE0D4 ; =0x000003E7
str r1, [r5, #4]
cmp r1, r0
bls _021DDFAE
str r0, [r5, #4]
_021DDFAE:
ldr r0, [r5, #4]
cmp r0, #0x64
blo _021DDFBA
mov r0, #3
str r0, [r5, #8]
b _021DDFC8
_021DDFBA:
cmp r0, #0xa
blo _021DDFC4
mov r0, #2
str r0, [r5, #8]
b _021DDFC8
_021DDFC4:
mov r0, #1
str r0, [r5, #8]
_021DDFC8:
mov r0, #0x32
lsl r0, r0, #0xe
str r0, [sp, #0x38]
mov r0, #0x13
lsl r0, r0, #0x10
str r0, [sp, #0x3c]
b _021DE022
_021DDFD6:
ldr r1, [r4, #0x14]
ldr r0, _021DE0D8 ; =0x0001869F
str r1, [r5, #4]
cmp r1, r0
bls _021DDFE2
str r0, [r5, #4]
_021DDFE2:
ldr r1, [r5, #4]
ldr r0, _021DE0DC ; =0x00002710
cmp r1, r0
blo _021DDFF0
mov r0, #5
str r0, [r5, #8]
b _021DE016
_021DDFF0:
mov r0, #0xfa
lsl r0, r0, #2
cmp r1, r0
blo _021DDFFE
mov r0, #4
str r0, [r5, #8]
b _021DE016
_021DDFFE:
cmp r1, #0x64
blo _021DE008
mov r0, #3
str r0, [r5, #8]
b _021DE016
_021DE008:
cmp r1, #0xa
blo _021DE012
mov r0, #2
str r0, [r5, #8]
b _021DE016
_021DE012:
mov r0, #1
str r0, [r5, #8]
_021DE016:
mov r0, #0x32
lsl r0, r0, #0xe
str r0, [sp, #0x38]
mov r0, #0x11
lsl r0, r0, #0x10
str r0, [sp, #0x3c]
_021DE022:
ldr r0, [r5, #8]
mov r7, #0
mov r6, #1
cmp r0, #0
bls _021DE0C6
add r0, r5, #0
str r0, [sp, #0x1c]
add r0, #0x18
str r0, [sp, #0x1c]
add r4, r5, #0
_021DE036:
mov r0, #0
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, #8
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #2
str r0, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r5, #0x14]
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r1, [sp, #0x1c]
add r2, sp, #0x38
mov r3, #2
bl MOD85_021DEC00
ldr r0, [r4, #0x1c]
mov r1, #2
bl FUN_020200EC
ldr r0, [r4, #0x1c]
add r1, sp, #0x2c
bl FUN_02020054
ldr r0, [r4, #0x1c]
add r1, sp, #0x20
bl FUN_02020064
mov r0, #0
bl MathUtil_0201B9A0
add r1, r0, #0
ldr r0, [r4, #0x1c]
bl FUN_02020088
mov r1, #0xa
ldr r0, [r5, #4]
mul r1, r6
bl _u32_div_f
add r0, r1, #0
add r1, r6, #0
bl _u32_div_f
add r1, r0, #0
ldr r0, [r4, #0x1c]
bl FUN_02020130
ldr r0, [r4, #0x1c]
bl FUN_02020198
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x38]
add r0, #0xc
str r0, [sp, #0x1c]
mov r0, #0xa
mul r6, r0
mov r0, #1
lsl r0, r0, #0x10
sub r0, r1, r0
str r0, [sp, #0x38]
ldr r0, [r5, #8]
add r7, r7, #1
add r4, #0xc
cmp r7, r0
blo _021DE036
_021DE0C6:
str r7, [r5, #0x10]
mov r0, #1
add sp, #0x44
pop {r4, r5, r6, r7, pc}
nop
_021DE0D0: .word MOD85_021DF79C
_021DE0D4: .word 0x000003E7
_021DE0D8: .word 0x0001869F
_021DE0DC: .word 0x00002710
thumb_func_end MOD85_021DDF6C
thumb_func_start MOD85_021DE0E0
MOD85_021DE0E0: ; 0x021DE0E0
push {r4, r5, r6, lr}
add r6, r1, #0
ldr r0, [r6, #0x10]
mov r4, #0
cmp r0, #0
ble _021DE100
add r5, r6, #0
add r5, #0x18
_021DE0F0:
add r0, r5, #0
bl MOD85_021DECA0
ldr r0, [r6, #0x10]
add r4, r4, #1
add r5, #0xc
cmp r4, r0
blt _021DE0F0
_021DE100:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021DE0E0
thumb_func_start MOD85_021DE104
MOD85_021DE104: ; 0x021DE104
push {r3, lr}
ldr r2, [r1, #0xc]
add r2, r2, #1
str r2, [r1, #0xc]
cmp r2, #0x2d
blt _021DE114
bl FUN_02064520
_021DE114:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DE104
thumb_func_start MOD85_021DE118
MOD85_021DE118: ; 0x021DE118
push {r4, r5, lr}
sub sp, #0x14
ldr r5, _021DE14C ; =0x021DF664
add r2, r0, #0
add r3, r1, #0
ldmia r5!, {r0, r1}
add r4, sp, #8
stmia r4!, {r0, r1}
ldr r0, [r5]
str r0, [r4]
ldr r0, _021DE150 ; =0x000003E7
cmp r3, r0
bls _021DE134
add r3, r0, #0
_021DE134:
str r2, [sp]
mov r0, #0x8e
str r0, [sp, #4]
ldr r0, _021DE154 ; =0x0000044C
ldr r1, _021DE158 ; =0x021DF9C4
ldr r0, [r2, r0]
add r2, sp, #8
bl FUN_020644E4
add sp, #0x14
pop {r4, r5, pc}
nop
_021DE14C: .word MOD85_021DF664
_021DE150: .word 0x000003E7
_021DE154: .word 0x0000044C
_021DE158: .word MOD85_021DF9C4
thumb_func_end MOD85_021DE118
thumb_func_start MOD85_021DE15C
MOD85_021DE15C: ; 0x021DE15C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r0, #0
add r5, r1, #0
bl FUN_0206475C
str r0, [r5, #8]
add r0, r4, #0
bl FUN_02064754
str r0, [sp, #0x20]
add r0, r4, #0
add r1, sp, #0x24
bl FUN_0206477C
ldr r0, [sp, #0x20]
cmp r0, #0x64
blo _021DE192
mov r0, #3
str r0, [r5, #4]
mov r0, #1
ldr r1, [sp, #0x24]
lsl r0, r0, #0x10
sub r0, r1, r0
mov r4, #0x64
str r0, [sp, #0x24]
b _021DE1AA
_021DE192:
cmp r0, #0xa
blo _021DE1A6
mov r0, #2
str r0, [r5, #4]
ldr r1, [sp, #0x24]
lsl r0, r0, #0xe
sub r0, r1, r0
mov r4, #0xa
str r0, [sp, #0x24]
b _021DE1AA
_021DE1A6:
mov r4, #1
str r4, [r5, #4]
_021DE1AA:
ldr r0, [r5, #4]
mov r6, #0
cmp r0, #0
ble _021DE226
add r0, r5, #0
str r0, [sp, #0x1c]
add r0, #0xc
str r0, [sp, #0x1c]
add r7, r5, #0
_021DE1BC:
mov r0, #0
str r0, [sp]
mov r0, #9
str r0, [sp, #4]
mov r0, #7
str r0, [sp, #8]
mov r0, #9
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #2
str r0, [sp, #0x14]
mov r0, #3
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r5, #8]
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r1, [sp, #0x1c]
add r2, sp, #0x24
mov r3, #2
bl MOD85_021DEC00
mov r1, #0xa
ldr r0, [sp, #0x20]
mul r1, r4
bl _u32_div_f
add r0, r1, #0
add r1, r4, #0
bl _u32_div_f
add r1, r0, #0
ldr r0, [r7, #0x10]
bl FUN_02020130
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x24]
add r0, #0xc
str r0, [sp, #0x1c]
mov r0, #1
lsl r0, r0, #0x10
add r0, r1, r0
str r0, [sp, #0x24]
add r0, r4, #0
mov r1, #0xa
add r7, #0xc
add r6, r6, #1
bl _u32_div_f
add r4, r0, #0
ldr r0, [r5, #4]
cmp r6, r0
blt _021DE1BC
_021DE226:
mov r0, #1
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DE15C
thumb_func_start MOD85_021DE22C
MOD85_021DE22C: ; 0x021DE22C
push {r4, r5, r6, lr}
add r6, r1, #0
ldr r0, [r6, #4]
mov r4, #0
cmp r0, #0
ble _021DE24C
add r5, r6, #0
add r5, #0xc
_021DE23C:
add r0, r5, #0
bl MOD85_021DECA0
ldr r0, [r6, #4]
add r4, r4, #1
add r5, #0xc
cmp r4, r0
blt _021DE23C
_021DE24C:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD85_021DE22C
thumb_func_start MOD85_021DE250
MOD85_021DE250: ; 0x021DE250
push {r3, lr}
ldr r2, [r1]
add r2, r2, #1
str r2, [r1]
cmp r2, #0x3c
blt _021DE260
bl FUN_02064520
_021DE260:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DE250
thumb_func_start MOD85_021DE264
MOD85_021DE264: ; 0x021DE264
push {lr}
sub sp, #0x14
add r2, sp, #8
mov r3, #0
str r3, [r2]
str r3, [r2, #4]
str r3, [r2, #8]
str r0, [sp]
mov r1, #0x8c
str r1, [sp, #4]
ldr r1, _021DE288 ; =0x0000044C
ldr r0, [r0, r1]
ldr r1, _021DE28C ; =0x021DF910
bl FUN_020644E4
add sp, #0x14
pop {pc}
nop
_021DE288: .word 0x0000044C
_021DE28C: .word MOD85_021DF910
thumb_func_end MOD85_021DE264
thumb_func_start MOD85_021DE290
MOD85_021DE290: ; 0x021DE290
push {r4, lr}
add r4, r1, #0
bl FUN_0206475C
str r0, [r4, #0x44]
ldr r0, [r0, #0x44]
add r3, r4, #0
str r0, [r4, #0x18]
ldr r0, [r4, #0x44]
add r3, #0x1c
ldr r0, [r0, #0x48]
mov r1, #1
_021DE2A8:
add r2, r0, #0
tst r2, r1
bne _021DE2BC
ldr r2, [r3]
lsr r0, r0, #1
add r2, r2, #1
str r2, [r3]
ldr r2, [r4, #0x1c]
cmp r2, #5
blt _021DE2A8
_021DE2BC:
ldr r0, [r4, #0x1c]
cmp r0, #5
blt _021DE2C6
bl GF_AssertFail
_021DE2C6:
add r0, r4, #0
bl MOD85_021DE4F0
mov r0, #1
pop {r4, pc}
thumb_func_end MOD85_021DE290
thumb_func_start MOD85_021DE2D0
MOD85_021DE2D0: ; 0x021DE2D0
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
ldr r0, [r7, #0x14]
cmp r0, #0
bne _021DE30C
add r5, r7, #0
mov r6, #0
add r4, r7, #0
add r5, #0x20
_021DE2E2:
ldr r0, [r4, #0x24]
cmp r0, #0
beq _021DE2EE
add r0, r5, #0
bl MOD85_021DECA0
_021DE2EE:
add r6, r6, #1
add r4, #0xc
add r5, #0xc
cmp r6, #3
blt _021DE2E2
mov r1, #0xa
str r1, [sp]
mov r0, #0x45
ldr r2, [r7, #0x44]
lsl r0, r0, #4
ldr r0, [r2, r0]
mov r2, #8
add r3, r1, #0
bl MOD85_021DEAB4
_021DE30C:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DE2D0
thumb_func_start MOD85_021DE310
MOD85_021DE310: ; 0x021DE310
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r5, r1, #0
ldr r0, [r5]
cmp r0, #5
bhi _021DE33A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021DE328: ; jump table
.short _021DE334 - _021DE328 - 2 ; case 0
.short _021DE3AE - _021DE328 - 2 ; case 1
.short _021DE3F8 - _021DE328 - 2 ; case 2
.short _021DE410 - _021DE328 - 2 ; case 3
.short _021DE454 - _021DE328 - 2 ; case 4
.short _021DE46C - _021DE328 - 2 ; case 5
_021DE334:
ldr r0, [r5, #8]
cmp r0, #2
beq _021DE33C
_021DE33A:
b _021DE4A0
_021DE33C:
mov r4, #0
add r7, r5, #0
str r4, [sp, #0x20]
add r7, #0x20
add r6, r5, #0
_021DE346:
ldr r1, [r5, #0x1c]
mov r0, #0x24
add r2, r1, #0
mul r2, r0
ldr r0, _021DE4A4 ; =0x021DFB80
add r0, r0, r2
add r3, r4, r0
add r2, sp, #0x24
ldmia r3!, {r0, r1}
mov ip, r2
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r3, #3
str r0, [r2]
mov r0, #0
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #1
str r0, [sp, #0x14]
mov r0, #0
str r0, [sp, #0x18]
mov r0, #0x45
ldr r1, [r5, #0x44]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r7, #0
mov r2, ip
bl MOD85_021DEC00
ldr r0, [r6, #0x24]
mov r1, #1
bl FUN_020200BC
ldr r0, [sp, #0x20]
add r4, #0xc
add r0, r0, #1
add r7, #0xc
add r6, #0xc
str r0, [sp, #0x20]
cmp r0, #3
blt _021DE346
ldr r0, [r5]
add sp, #0x30
add r0, r0, #1
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_021DE3AE:
mov r6, #0
str r6, [sp, #0x1c]
add r4, r5, #0
add r7, sp, #0x24
_021DE3B6:
ldr r0, [r4, #0x24]
add r1, r7, #0
bl MOD85_021DECBC
mov r0, #1
ldr r1, [sp, #0x28]
lsl r0, r0, #0xe
add r1, r1, r0
mov r0, #0xf
lsl r0, r0, #0x10
str r1, [sp, #0x28]
cmp r1, r0
blt _021DE3D4
str r0, [sp, #0x28]
b _021DE3D8
_021DE3D4:
mov r0, #1
str r0, [sp, #0x1c]
_021DE3D8:
ldr r0, [r4, #0x24]
add r1, r7, #0
bl FUN_02020044
add r6, r6, #1
add r4, #0xc
cmp r6, #3
blt _021DE3B6
ldr r0, [sp, #0x1c]
cmp r0, #0
bne _021DE4A0
ldr r0, [r5]
add sp, #0x30
add r0, r0, #1
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_021DE3F8:
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
cmp r0, #0x1e
blt _021DE4A0
mov r0, #0
str r0, [r5, #0xc]
ldr r0, [r5]
add sp, #0x30
add r0, r0, #1
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_021DE410:
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
cmp r0, #0xc
blt _021DE41E
mov r7, #1
b _021DE420
_021DE41E:
mov r7, #0
_021DE420:
mov r6, #0
add r4, r5, #0
_021DE424:
ldr r0, [r4, #0x24]
add r1, r7, #0
bl FUN_020200A0
add r6, r6, #1
add r4, #0xc
cmp r6, #3
blt _021DE424
ldr r0, [r5, #0xc]
cmp r0, #0x1e
blt _021DE4A0
mov r1, #0
str r1, [r5, #0xc]
ldr r0, [r5, #0x10]
add r0, r0, #1
str r0, [r5, #0x10]
cmp r0, #3
blt _021DE4A0
str r1, [r5, #0x10]
ldr r0, [r5]
add sp, #0x30
add r0, r0, #1
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_021DE454:
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
cmp r0, #0x1e
blt _021DE4A0
mov r0, #0
str r0, [r5, #0xc]
ldr r0, [r5]
add sp, #0x30
add r0, r0, #1
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_021DE46C:
add r4, r5, #0
mov r6, #0
add r4, #0x20
_021DE472:
add r0, r4, #0
bl MOD85_021DECA0
add r6, r6, #1
add r4, #0xc
cmp r6, #3
blt _021DE472
mov r1, #0xa
str r1, [sp]
mov r0, #0x45
ldr r2, [r5, #0x44]
lsl r0, r0, #4
ldr r0, [r2, r0]
mov r2, #8
add r3, r1, #0
bl MOD85_021DEAB4
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
mov r0, #1
str r0, [r5, #4]
str r0, [r5, #0x14]
_021DE4A0:
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021DE4A4: .word MOD85_021DFB80
thumb_func_end MOD85_021DE310
thumb_func_start MOD85_021DE4A8
MOD85_021DE4A8: ; 0x021DE4A8
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r0, #0x45
ldr r1, [r4, #0x44]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl MOD85_021DE8A8
mov r0, #1
str r0, [r4, #8]
add r0, r5, #0
bl FUN_0200CAB4
pop {r3, r4, r5, pc}
thumb_func_end MOD85_021DE4A8
thumb_func_start MOD85_021DE4C8
MOD85_021DE4C8: ; 0x021DE4C8
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #8]
ldr r1, [r4, #0x44]
cmp r0, #1
bne _021DE4EC
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl MOD85_021DE8DC
mov r0, #2
str r0, [r4, #8]
add r0, r5, #0
bl FUN_0200CAB4
_021DE4EC:
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DE4C8
thumb_func_start MOD85_021DE4F0
MOD85_021DE4F0: ; 0x021DE4F0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x18]
ldr r4, [r5, #0x44]
cmp r0, #0
bne _021DE538
mov r2, #0x45
mov r0, #0xa
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #3
mov r3, #0xe
bl MOD85_021DE840
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0xf
mov r3, #0xa
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x10
mov r3, #0xa
bl MOD85_021DEA4C
b _021DE572
_021DE538:
mov r2, #0x45
mov r0, #0xa
lsl r2, r2, #4
str r0, [sp]
ldr r0, [r4, r2]
sub r2, #0x18
ldr r2, [r4, r2]
mov r1, #3
mov r3, #0x11
bl MOD85_021DE840
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x12
mov r3, #0xa
bl MOD85_021DE9E4
mov r1, #0x45
lsl r1, r1, #4
ldr r0, [r4, r1]
sub r1, #0x18
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0xa
bl MOD85_021DEA4C
_021DE572:
ldr r0, _021DE598 ; =MOD85_021DE4A8
ldr r2, _021DE59C ; =0x00000101
add r1, r5, #0
bl FUN_0200CA60
cmp r0, #0
bne _021DE584
bl GF_AssertFail
_021DE584:
ldr r0, _021DE5A0 ; =MOD85_021DE4C8
ldr r2, _021DE59C ; =0x00000101
add r1, r5, #0
bl FUN_0200CA98
cmp r0, #0
bne _021DE596
bl GF_AssertFail
_021DE596:
pop {r3, r4, r5, pc}
.align 2, 0
_021DE598: .word MOD85_021DE4A8
_021DE59C: .word 0x00000101
_021DE5A0: .word MOD85_021DE4C8
thumb_func_end MOD85_021DE4F0
thumb_func_start MOD85_021DE5A4
MOD85_021DE5A4: ; 0x021DE5A4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r1, [sp, #4]
ldr r1, [sp, #0x28]
str r0, [sp]
str r1, [sp, #0x28]
mov r1, #0x57
lsl r1, r1, #2
str r2, [sp, #8]
add r7, r3, #0
ldr r5, [sp, #0x20]
ldr r6, [sp, #0x24]
bl AllocFromHeap
add r4, r0, #0
bne _021DE5C8
bl GF_AssertFail
_021DE5C8:
ldr r0, [sp]
add r1, r4, #0
str r0, [r4]
strb r7, [r4, #4]
strb r5, [r4, #5]
ldr r0, [sp, #0x28]
strb r6, [r4, #6]
strb r0, [r4, #7]
ldr r0, [sp, #0x2c]
ldr r2, [sp]
strb r0, [r4, #8]
ldr r0, [sp, #0x30]
add r1, #0x10
strb r0, [r4, #9]
ldr r0, [sp, #0x34]
strb r0, [r4, #0xa]
ldr r0, [sp, #0x38]
strb r0, [r4, #0xb]
ldr r0, [sp, #4]
bl FUN_02008C9C
str r0, [r4, #0xc]
ldr r0, [sp, #8]
ldr r1, [sp]
bl FUN_0201C328
mov r1, #0x4e
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp, #8]
ldr r1, [sp]
bl FUN_0201C24C
ldr r2, [sp]
add r0, r7, #0
mov r1, #0
bl FUN_02008DEC
mov r1, #0x4f
lsl r1, r1, #2
str r0, [r4, r1]
ldr r2, [sp]
add r0, r5, #0
mov r1, #1
bl FUN_02008DEC
mov r1, #5
lsl r1, r1, #6
str r0, [r4, r1]
ldr r2, [sp]
add r0, r6, #0
mov r1, #2
bl FUN_02008DEC
mov r1, #0x51
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp, #0x28]
ldr r2, [sp]
mov r1, #3
bl FUN_02008DEC
mov r1, #0x52
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp]
lsl r1, r7, #3
bl AllocFromHeap
mov r1, #0x53
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp]
lsl r1, r5, #3
bl AllocFromHeap
mov r1, #0x15
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [sp]
lsl r1, r6, #3
bl AllocFromHeap
mov r1, #0x55
lsl r1, r1, #2
str r0, [r4, r1]
ldr r1, [sp, #0x28]
ldr r0, [sp]
lsl r1, r1, #3
bl AllocFromHeap
mov r1, #0x56
lsl r1, r1, #2
str r0, [r4, r1]
mov r1, #0
cmp r7, #0
bls _021DE6A4
bls _021DE6A4
ldr r0, [sp, #0x2c]
add r2, r1, #0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
_021DE694:
mov r3, #0x53
lsl r3, r3, #2
ldr r3, [r4, r3]
add r1, r1, #1
strh r0, [r3, r2]
add r2, #8
cmp r1, r7
blo _021DE694
_021DE6A4:
mov r3, #0
cmp r5, #0
bls _021DE6C4
bls _021DE6C4
ldr r0, [sp, #0x30]
mov r7, #0x15
lsl r0, r0, #0x10
add r2, r3, #0
lsr r1, r0, #0x10
lsl r7, r7, #4
_021DE6B8:
ldr r0, [r4, r7]
add r3, r3, #1
strh r1, [r0, r2]
add r2, #8
cmp r3, r5
blo _021DE6B8
_021DE6C4:
mov r1, #0
cmp r6, #0
bls _021DE6E4
bls _021DE6E4
ldr r2, [sp, #0x34]
add r0, r1, #0
lsl r2, r2, #0x10
lsr r5, r2, #0x10
mov r2, #0x55
lsl r2, r2, #2
_021DE6D8:
ldr r3, [r4, r2]
add r1, r1, #1
strh r5, [r3, r0]
add r0, #8
cmp r1, r6
blo _021DE6D8
_021DE6E4:
ldr r0, [sp, #0x28]
mov r1, #0
cmp r0, #0
bls _021DE708
bls _021DE708
ldr r2, [sp, #0x38]
mov r3, #0x56
lsl r2, r2, #0x10
add r0, r1, #0
lsr r5, r2, #0x10
lsl r3, r3, #2
_021DE6FA:
ldr r2, [r4, r3]
add r1, r1, #1
strh r5, [r2, r0]
ldr r2, [sp, #0x28]
add r0, #8
cmp r1, r2
blo _021DE6FA
_021DE708:
add r0, r4, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DE5A4
thumb_func_start MOD85_021DE710
MOD85_021DE710: ; 0x021DE710
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldrb r0, [r5, #4]
mov r6, #0
cmp r0, #0
bls _021DE73E
mov r7, #0x53
add r4, r6, #0
lsl r7, r7, #2
_021DE722:
ldr r1, [r5, r7]
ldrb r2, [r5, #8]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021DE734
ldr r0, [r0, #4]
bl FUN_02009C0C
_021DE734:
ldrb r0, [r5, #4]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021DE722
_021DE73E:
ldrb r0, [r5, #5]
mov r6, #0
cmp r0, #0
bls _021DE768
mov r7, #0x15
add r4, r6, #0
lsl r7, r7, #4
_021DE74C:
ldr r1, [r5, r7]
ldrb r2, [r5, #9]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021DE75E
ldr r0, [r0, #4]
bl FUN_02009E04
_021DE75E:
ldrb r0, [r5, #5]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021DE74C
_021DE768:
ldrb r0, [r5, #6]
mov r6, #0
cmp r0, #0
bls _021DE792
mov r7, #0x55
add r4, r6, #0
lsl r7, r7, #2
_021DE776:
ldr r1, [r5, r7]
ldrb r2, [r5, #0xa]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021DE788
ldr r0, [r0, #4]
bl FUN_02009474
_021DE788:
ldrb r0, [r5, #6]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021DE776
_021DE792:
ldrb r0, [r5, #7]
mov r6, #0
cmp r0, #0
bls _021DE7BC
mov r7, #0x56
add r4, r6, #0
lsl r7, r7, #2
_021DE7A0:
ldr r1, [r5, r7]
ldrb r2, [r5, #0xb]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021DE7B2
ldr r0, [r0, #4]
bl FUN_02009474
_021DE7B2:
ldrb r0, [r5, #7]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021DE7A0
_021DE7BC:
mov r0, #0x4f
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02008E2C
mov r0, #5
lsl r0, r0, #6
ldr r0, [r5, r0]
bl FUN_02008E2C
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02008E2C
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02008E2C
mov r0, #0x53
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FreeToHeap
mov r0, #0x15
lsl r0, r0, #4
ldr r0, [r5, r0]
bl FreeToHeap
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FreeToHeap
mov r0, #0x56
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FreeToHeap
bl FUN_0201C29C
mov r0, #0x4e
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FUN_0201C350
ldr r0, [r5, #0xc]
bl FUN_0201FDB4
ldr r0, [r5, #0xc]
bl FUN_0201FD58
add r0, r5, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DE710
thumb_func_start MOD85_021DE830
MOD85_021DE830: ; 0x021DE830
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_0201FDEC
bl FUN_0201C348
pop {r3, pc}
.align 2, 0
thumb_func_end MOD85_021DE830
thumb_func_start MOD85_021DE840
MOD85_021DE840: ; 0x021DE840
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldrb r5, [r4, #4]
add r7, r1, #0
mov r1, #0
str r2, [sp, #0xc]
mov ip, r3
cmp r5, #0
bls _021DE8A0
mov r0, #0x53
lsl r0, r0, #2
ldr r6, [r4, r0]
ldrb r3, [r4, #8]
add r2, r6, #0
_021DE85E:
ldrh r0, [r2]
cmp r3, r0
bne _021DE898
ldr r0, [sp, #0x28]
lsl r5, r1, #3
mov r1, #0x53
strh r0, [r6, r5]
lsl r1, r1, #2
ldr r2, [r4, r1]
mov r3, #0
add r2, r2, r5
strh r3, [r2, #2]
str r0, [sp]
str r7, [sp, #4]
ldr r0, [r4]
sub r1, #0x10
str r0, [sp, #8]
ldr r0, [r4, r1]
ldr r1, [sp, #0xc]
mov r2, ip
bl FUN_020091E0
mov r1, #0x53
lsl r1, r1, #2
ldr r1, [r4, r1]
add sp, #0x10
add r1, r1, r5
str r0, [r1, #4]
pop {r3, r4, r5, r6, r7, pc}
_021DE898:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021DE85E
_021DE8A0:
bl GF_AssertFail
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DE840
thumb_func_start MOD85_021DE8A8
MOD85_021DE8A8: ; 0x021DE8A8
push {r3, r4, r5, lr}
ldrb r2, [r0, #4]
mov r4, #0
cmp r2, #0
bls _021DE8D4
mov r3, #0x53
lsl r3, r3, #2
ldr r5, [r0, r3]
add r3, r5, #0
_021DE8BA:
ldrh r0, [r3]
cmp r1, r0
bne _021DE8CC
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl FUN_02009B04
pop {r3, r4, r5, pc}
_021DE8CC:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021DE8BA
_021DE8D4:
bl GF_AssertFail
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DE8A8
thumb_func_start MOD85_021DE8DC
MOD85_021DE8DC: ; 0x021DE8DC
push {r3, r4, r5, lr}
ldrb r2, [r0, #4]
mov r4, #0
cmp r2, #0
bls _021DE908
mov r3, #0x53
lsl r3, r3, #2
ldr r5, [r0, r3]
add r3, r5, #0
_021DE8EE:
ldrh r0, [r3]
cmp r1, r0
bne _021DE900
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl FUN_02009474
pop {r3, r4, r5, pc}
_021DE900:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021DE8EE
_021DE908:
bl GF_AssertFail
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DE8DC
thumb_func_start MOD85_021DE910
MOD85_021DE910: ; 0x021DE910
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r0, #0
ldrb r5, [r4, #4]
add r7, r1, #0
mov r1, #0
str r2, [sp, #0x10]
mov ip, r3
cmp r5, #0
bls _021DE974
mov r0, #0x15
lsl r0, r0, #4
ldr r6, [r4, r0]
ldrb r3, [r4, #9]
add r2, r6, #0
_021DE92E:
ldrh r0, [r2]
cmp r3, r0
bne _021DE96C
ldr r0, [sp, #0x28]
lsl r5, r1, #3
mov r1, #0x15
strh r0, [r6, r5]
lsl r1, r1, #4
ldr r2, [r4, r1]
mov r3, #0
add r2, r2, r5
strh r3, [r2, #2]
str r0, [sp]
str r7, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r4]
sub r1, #0x10
str r0, [sp, #0xc]
ldr r0, [r4, r1]
ldr r1, [sp, #0x10]
mov r2, ip
bl FUN_02009298
mov r1, #0x15
lsl r1, r1, #4
ldr r1, [r4, r1]
add sp, #0x14
add r1, r1, r5
str r0, [r1, #4]
pop {r4, r5, r6, r7, pc}
_021DE96C:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021DE92E
_021DE974:
bl GF_AssertFail
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DE910
thumb_func_start MOD85_021DE97C
MOD85_021DE97C: ; 0x021DE97C
push {r3, r4, r5, lr}
ldrb r2, [r0, #5]
mov r4, #0
cmp r2, #0
bls _021DE9A8
mov r3, #0x15
lsl r3, r3, #4
ldr r5, [r0, r3]
add r3, r5, #0
_021DE98E:
ldrh r0, [r3]
cmp r1, r0
bne _021DE9A0
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl FUN_02009D68
pop {r3, r4, r5, pc}
_021DE9A0:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021DE98E
_021DE9A8:
bl GF_AssertFail
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DE97C
thumb_func_start MOD85_021DE9B0
MOD85_021DE9B0: ; 0x021DE9B0
push {r3, r4, r5, lr}
ldrb r2, [r0, #5]
mov r4, #0
cmp r2, #0
bls _021DE9DC
mov r3, #0x15
lsl r3, r3, #4
ldr r5, [r0, r3]
add r3, r5, #0
_021DE9C2:
ldrh r0, [r3]
cmp r1, r0
bne _021DE9D4
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl FUN_02009474
pop {r3, r4, r5, pc}
_021DE9D4:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021DE9C2
_021DE9DC:
bl GF_AssertFail
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD85_021DE9B0
thumb_func_start MOD85_021DE9E4
MOD85_021DE9E4: ; 0x021DE9E4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldrb r5, [r4, #4]
str r1, [sp, #0xc]
mov ip, r2
add r6, r3, #0
mov r1, #0
cmp r5, #0
bls _021DEA44
mov r0, #0x55
lsl r0, r0, #2
ldr r7, [r4, r0]
ldrb r3, [r4, #0xa]
add r2, r7, #0
_021DEA02:
ldrh r0, [r2]
cmp r3, r0
bne _021DEA3C
lsl r5, r1, #3
mov r0, #0x55
strh r6, [r7, r5]
lsl r0, r0, #2
ldr r1, [r4, r0]
mov r3, #0
add r1, r1, r5
strh r3, [r1, #2]
str r6, [sp]
mov r1, #2
str r1, [sp, #4]
ldr r1, [r4]
sub r0, #0x10
str r1, [sp, #8]
ldr r0, [r4, r0]
ldr r1, [sp, #0xc]
mov r2, ip
bl FUN_02009358
mov r1, #0x55
lsl r1, r1, #2
ldr r1, [r4, r1]
add sp, #0x10
add r1, r1, r5
str r0, [r1, #4]
pop {r3, r4, r5, r6, r7, pc}
_021DEA3C:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021DEA02
_021DEA44:
bl GF_AssertFail
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DE9E4
thumb_func_start MOD85_021DEA4C
MOD85_021DEA4C: ; 0x021DEA4C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldrb r5, [r4, #4]
str r1, [sp, #0xc]
mov ip, r2
add r6, r3, #0
mov r1, #0
cmp r5, #0
bls _021DEAAC
mov r0, #0x56
lsl r0, r0, #2
ldr r7, [r4, r0]
ldrb r3, [r4, #0xb]
add r2, r7, #0
_021DEA6A:
ldrh r0, [r2]
cmp r3, r0
bne _021DEAA4
lsl r5, r1, #3
mov r0, #0x56
strh r6, [r7, r5]
lsl r0, r0, #2
ldr r1, [r4, r0]
mov r3, #0
add r1, r1, r5
strh r3, [r1, #2]
str r6, [sp]
mov r1, #3
str r1, [sp, #4]
ldr r1, [r4]
sub r0, #0x10
str r1, [sp, #8]
ldr r0, [r4, r0]
ldr r1, [sp, #0xc]
mov r2, ip
bl FUN_02009358
mov r1, #0x56
lsl r1, r1, #2
ldr r1, [r4, r1]
add sp, #0x10
add r1, r1, r5
str r0, [r1, #4]
pop {r3, r4, r5, r6, r7, pc}
_021DEAA4:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021DEA6A
_021DEAAC:
bl GF_AssertFail
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DEA4C
thumb_func_start MOD85_021DEAB4
MOD85_021DEAB4: ; 0x021DEAB4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r0, r1, #0
ldrb r1, [r4, #8]
add r7, r2, #0
str r3, [sp]
ldr r6, [sp, #0x20]
cmp r0, r1
beq _021DEB10
ldrb r5, [r4, #4]
mov r2, #0
cmp r5, #0
bls _021DEB10
mov r1, #0x53
lsl r1, r1, #2
ldr r3, [r4, r1]
mov ip, r3
_021DEAD8:
ldrh r1, [r3]
cmp r0, r1
bne _021DEB08
lsl r5, r2, #3
mov r0, ip
add r0, r0, r5
ldr r0, [r0, #4]
bl FUN_02009C0C
mov r1, #0x4f
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl FUN_02009490
mov r0, #0x53
lsl r0, r0, #2
ldrb r1, [r4, #8]
ldr r0, [r4, r0]
strh r1, [r0, r5]
b _021DEB10
_021DEB08:
add r2, r2, #1
add r3, #8
cmp r2, r5
blo _021DEAD8
_021DEB10:
ldrb r0, [r4, #9]
cmp r7, r0
beq _021DEB5E
ldrb r0, [r4, #5]
mov r1, #0
cmp r0, #0
bls _021DEB5E
mov r2, #0x15
lsl r2, r2, #4
ldr r3, [r4, r2]
str r3, [sp, #4]
_021DEB26:
ldrh r2, [r3]
cmp r7, r2
bne _021DEB56
ldr r0, [sp, #4]
lsl r5, r1, #3
add r0, r0, r5
ldr r0, [r0, #4]
bl FUN_02009E04
mov r1, #5
lsl r1, r1, #6
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl FUN_02009490
mov r0, #0x15
lsl r0, r0, #4
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
strh r1, [r0, r5]
b _021DEB5E
_021DEB56:
add r1, r1, #1
add r3, #8
cmp r1, r0
blo _021DEB26
_021DEB5E:
ldrb r1, [r4, #0xa]
ldr r0, [sp]
cmp r0, r1
beq _021DEBAE
ldrb r3, [r4, #6]
mov r5, #0
cmp r3, #0
bls _021DEBAE
mov r0, #0x55
lsl r0, r0, #2
ldr r7, [r4, r0]
add r2, r7, #0
_021DEB76:
ldrh r1, [r2]
ldr r0, [sp]
cmp r0, r1
bne _021DEBA6
lsl r5, r5, #3
add r0, r7, r5
ldr r0, [r0, #4]
bl FUN_02009474
mov r1, #0x51
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl FUN_02009490
mov r0, #0x55
lsl r0, r0, #2
ldrb r1, [r4, #0xa]
ldr r0, [r4, r0]
strh r1, [r0, r5]
b _021DEBAE
_021DEBA6:
add r5, r5, #1
add r2, #8
cmp r5, r3
blo _021DEB76
_021DEBAE:
ldrb r0, [r4, #0xb]
cmp r6, r0
beq _021DEBFC
ldrb r1, [r4, #7]
mov r2, #0
cmp r1, #0
bls _021DEBFC
mov r0, #0x56
lsl r0, r0, #2
ldr r0, [r4, r0]
add r5, r0, #0
_021DEBC4:
ldrh r3, [r5]
cmp r6, r3
bne _021DEBF4
lsl r5, r2, #3
add r0, r0, r5
ldr r0, [r0, #4]
bl FUN_02009474
mov r1, #0x52
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl FUN_02009490
mov r0, #0x56
lsl r0, r0, #2
ldrb r1, [r4, #0xb]
ldr r0, [r4, r0]
add sp, #8
strh r1, [r0, r5]
pop {r3, r4, r5, r6, r7, pc}
_021DEBF4:
add r2, r2, #1
add r5, #8
cmp r2, r1
blo _021DEBC4
_021DEBFC:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD85_021DEAB4
thumb_func_start MOD85_021DEC00
MOD85_021DEC00: ; 0x021DEC00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x70
add r5, r0, #0
ldrb r0, [r5, #0xb]
add r4, r1, #0
ldr r1, [sp, #0x98]
add r6, r2, #0
add r7, r3, #0
cmp r1, r0
bne _021DEC1A
mov r0, #0
mvn r0, r0
str r0, [sp, #0x98]
_021DEC1A:
ldr r0, [sp, #0x98]
mov r1, #0x4f
str r0, [sp]
mov r0, #0
mvn r0, r0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [sp, #0x88]
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [sp, #0x9c]
ldr r2, [sp, #0x90]
str r0, [sp, #0x10]
ldr r0, [r5, r1]
ldr r3, [sp, #0x94]
str r0, [sp, #0x14]
add r0, r1, #4
ldr r0, [r5, r0]
str r0, [sp, #0x18]
add r0, r1, #0
add r0, #8
ldr r0, [r5, r0]
add r1, #0xc
str r0, [sp, #0x1c]
ldr r0, [r5, r1]
ldr r1, [sp, #0x8c]
str r0, [sp, #0x20]
mov r0, #0
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, sp, #0x4c
bl FUN_02008AA4
ldr r0, [sp, #0x88]
cmp r0, #1
bne _021DEC6A
ldr r0, [sp, #0x4c]
str r0, [r4, #8]
mov r0, #1
b _021DEC6C
_021DEC6A:
mov r0, #0
_021DEC6C:
str r0, [r4]
ldr r0, [r5, #0xc]
add r2, sp, #0x34
str r0, [sp, #0x2c]
add r0, sp, #0x4c
str r0, [sp, #0x30]
ldmia r6!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r6]
str r0, [r2]
ldr r0, [sp, #0xa0]
str r7, [sp, #0x44]
str r0, [sp, #0x40]
ldr r0, [r5]
str r0, [sp, #0x48]
add r0, sp, #0x2c
bl FUN_0201FF84
str r0, [r4, #4]
cmp r0, #0
bne _021DEC9A
bl GF_AssertFail
_021DEC9A:
add sp, #0x70
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD85_021DEC00
thumb_func_start MOD85_021DECA0
MOD85_021DECA0: ; 0x021DECA0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
cmp r0, #1
bne _021DECB0
ldr r0, [r4, #8]
bl FUN_02009CDC
_021DECB0:
ldr r0, [r4, #4]
bl FUN_0201FFC8
mov r0, #0
str r0, [r4, #4]
pop {r4, pc}
thumb_func_end MOD85_021DECA0
thumb_func_start MOD85_021DECBC
MOD85_021DECBC: ; 0x021DECBC
push {r4, lr}
add r4, r1, #0
bl FUN_0202011C
add r2, r0, #0
ldmia r2!, {r0, r1}
stmia r4!, {r0, r1}
ldr r0, [r2]
str r0, [r4]
pop {r4, pc}
thumb_func_end MOD85_021DECBC
thumb_func_start MOD85_021DECD0
MOD85_021DECD0: ; 0x021DECD0
push {r4, lr}
add r4, r1, #0
bl FUN_02020120
add r2, r0, #0
ldmia r2!, {r0, r1}
stmia r4!, {r0, r1}
ldr r0, [r2]
str r0, [r4]
pop {r4, pc}
thumb_func_end MOD85_021DECD0
.rodata
.global MOD85_021DECE4
MOD85_021DECE4: ; 0x021DECE4
.byte 0x00, 0x02, 0x13, 0x1A, 0x04, 0x0F, 0x3D, 0x00
.global MOD85_021DECEC
MOD85_021DECEC: ; 0x021DECEC
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DECFC
MOD85_021DECFC: ; 0x021DECFC
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00
.global MOD85_021DED0C
MOD85_021DED0C: ; 0x021DED0C
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x03, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DED28
MOD85_021DED28: ; 0x021DED28
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DED44
MOD85_021DED44: ; 0x021DED44
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x01, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DED60
MOD85_021DED60: ; 0x021DED60
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x02, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DED7C
MOD85_021DED7C: ; 0x021DED7C
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DEDA4
MOD85_021DEDA4: ; 0x021DEDA4
.word MOD85_021DB004
.global MOD85_021DEDA8
MOD85_021DEDA8: ; 0x021DEDA8
.word MOD85_021DB37C
.word MOD85_021DB004
.global MOD85_021DEDB0
MOD85_021DEDB0: ; 0x021DEDB0
.word MOD85_021DB258, MOD85_021DB004
.global MOD85_021DEDB8
MOD85_021DEDB8: ; 0x021DEDB8
.word MOD85_021DB360
.word MOD85_021DB004
.global MOD85_021DEDC0
MOD85_021DEDC0: ; 0x021DEDC0
.word MOD85_021DB344, MOD85_021DB004
.global MOD85_021DEDC8
MOD85_021DEDC8: ; 0x021DEDC8
.byte 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.global MOD85_021DEDD4
MOD85_021DEDD4: ; 0x021DEDD4
.word MOD85_021DB008
.word MOD85_021DB020, MOD85_021DB004
.global MOD85_021DEDE0
MOD85_021DEDE0: ; 0x021DEDE0
.word MOD85_021DB1E8, MOD85_021DB214
.word MOD85_021DB004
.global MOD85_021DEDEC
MOD85_021DEDEC: ; 0x021DEDEC
.word MOD85_021DAFA0, MOD85_021DAFB8, MOD85_021DAFDC
.word MOD85_021DB004
.global MOD85_021DEDFC
MOD85_021DEDFC: ; 0x021DEDFC
.word MOD85_021DB16C, MOD85_021DB18C, MOD85_021DB1B8
.word MOD85_021DB004
.global MOD85_021DEE0C
MOD85_021DEE0C: ; 0x021DEE0C
.word 0x00000024, MOD85_021DB7C4, MOD85_021DB7E8, MOD85_021DB7F4
.word FUN_02064794
.global MOD85_021DEE20
MOD85_021DEE20: ; 0x021DEE20
.word MOD85_021D938C, MOD85_021D9390, MOD85_021D93A8, MOD85_021D9404
.word MOD85_021D94AC
.global MOD85_021DEE34
MOD85_021DEE34: ; 0x021DEE34
.byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00
.byte 0x00, 0x00, 0x01, 0x00
.global MOD85_021DEE48
MOD85_021DEE48: ; 0x021DEE48
.word MOD85_021DB0D4, MOD85_021DB0F4, MOD85_021DB128
.word MOD85_021DB148, MOD85_021DB004
.global MOD85_021DEE5C
MOD85_021DEE5C: ; 0x021DEE5C
.word 0x00000030, MOD85_021DBAE4, MOD85_021DBAFC, MOD85_021DBB00
.word FUN_02064794
.global MOD85_021DEE70
MOD85_021DEE70: ; 0x021DEE70
.word MOD85_021DB044, MOD85_021DB05C, MOD85_021DB088
.word MOD85_021DB0B0, MOD85_021DB004
.global MOD85_021DEE84
MOD85_021DEE84: ; 0x021DEE84
.word MOD85_021DB270, MOD85_021DB294
.word MOD85_021DB2C8, MOD85_021DB2FC, MOD85_021DB320, MOD85_021DB004
.global MOD85_021DEE9C
MOD85_021DEE9C: ; 0x021DEE9C
.byte 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
.byte 0x16, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
.global MOD85_021DEEB4
MOD85_021DEEB4: ; 0x021DEEB4
.word MOD85_021DB398, MOD85_021DB3BC
.word MOD85_021DB3F4, MOD85_021DB418, MOD85_021DB448, MOD85_021DB470
.word MOD85_021DB004
.global MOD85_021DEED0
MOD85_021DEED0: ; 0x021DEED0
.word MOD85_021DEDA4, MOD85_021DEDEC, MOD85_021DEDD4, MOD85_021DEE70
.word MOD85_021DEE48, MOD85_021DEDFC, MOD85_021DEDE0, MOD85_021DEDB0
.word MOD85_021DEE84, MOD85_021DEDC0, MOD85_021DEDB8, MOD85_021DEDA8
.word MOD85_021DEEB4
.global MOD85_021DEF04
MOD85_021DEF04: ; 0x021DEF04
.byte 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.global MOD85_021DEF94
MOD85_021DEF94: ; 0x021DEF94
.word MOD85_021D8230, MOD85_021D82A0, MOD85_021D82FC, MOD85_021D8330
.word MOD85_021D83FC, MOD85_021D841C, MOD85_021D8514, MOD85_021D854C
.word MOD85_021D85B4, MOD85_021D85C8, MOD85_021D85E4, MOD85_021D85FC
.word MOD85_021D861C, MOD85_021D864C, MOD85_021D8694, MOD85_021D86B4
.word MOD85_021D8700, MOD85_021D8728, MOD85_021D8754, MOD85_021D876C
.word MOD85_021D879C, MOD85_021D87E8, MOD85_021D8810, MOD85_021D885C
.word MOD85_021D8874, MOD85_021D888C, MOD85_021D88F8, MOD85_021D8954
.word MOD85_021D8988, MOD85_021D8A30, MOD85_021D8A50, MOD85_021D8B48
.word MOD85_021D8B80, MOD85_021D8BC4, MOD85_021D8BE0, MOD85_021D8C00
.word MOD85_021D8C30, MOD85_021D8C50, MOD85_021D8C70, MOD85_021D8CAC
.word MOD85_021D8CF8, MOD85_021D8D24, MOD85_021D8D3C, MOD85_021D8D88
.word MOD85_021D8DFC, MOD85_021D8E64, MOD85_021D8E98, MOD85_021D8F88
.word MOD85_021D8FB0, MOD85_021D90B0, MOD85_021D90E8, MOD85_021D9120
.word MOD85_021D9144, MOD85_021D9178, MOD85_021D91A4, MOD85_021D91D8
.word MOD85_021D9224, MOD85_021D923C, MOD85_021D9254, MOD85_021D9284
.word MOD85_021D9298, MOD85_021D92AC, MOD85_021D92C0, MOD85_021D92DC
.global MOD85_021DF094
MOD85_021DF094: ; 0x021DF094
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF5B4
MOD85_021DF5B4: ; 0x021DF5B4
.word MOD85_021DD1BC, MOD85_021DD004
.global MOD85_021DF5BC
MOD85_021DF5BC: ; 0x021DF5BC
.word MOD85_021DD368, MOD85_021DD004
.global MOD85_021DF5C4
MOD85_021DF5C4: ; 0x021DF5C4
.word MOD85_021DC9E4, MOD85_021DC5DC
.global MOD85_021DF5CC
MOD85_021DF5CC: ; 0x021DF5CC
.word MOD85_021DD300, MOD85_021DD004
.global MOD85_021DF5D4
MOD85_021DF5D4: ; 0x021DF5D4
.word MOD85_021DD298, MOD85_021DD004
.global MOD85_021DF5DC
MOD85_021DF5DC: ; 0x021DF5DC
.word MOD85_021DCF88, MOD85_021DD004
.global MOD85_021DF5E4
MOD85_021DF5E4: ; 0x021DF5E4
.word MOD85_021DD224, MOD85_021DD004
.global MOD85_021DF5EC
MOD85_021DF5EC: ; 0x021DF5EC
.word MOD85_021DC8B4, MOD85_021DC93C
.word MOD85_021DC5DC
.global MOD85_021DF5F8
MOD85_021DF5F8: ; 0x021DF5F8
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF604
MOD85_021DF604: ; 0x021DF604
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF610
MOD85_021DF610: ; 0x021DF610
.byte 0x00, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF61C
MOD85_021DF61C: ; 0x021DF61C
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF628
MOD85_021DF628: ; 0x021DF628
.byte 0x00, 0xC0, 0x06, 0x00, 0x00, 0x40, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF634
MOD85_021DF634: ; 0x021DF634
.word MOD85_021DD3D0, MOD85_021DD43C, MOD85_021DD004
.global MOD85_021DF640
MOD85_021DF640: ; 0x021DF640
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF64C
MOD85_021DF64C: ; 0x021DF64C
.byte 0x00, 0x80, 0x0C, 0x00, 0x00, 0x80, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF658
MOD85_021DF658: ; 0x021DF658
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF664
MOD85_021DF664: ; 0x021DF664
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF670
MOD85_021DF670: ; 0x021DF670
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF67C
MOD85_021DF67C: ; 0x021DF67C
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF688
MOD85_021DF688: ; 0x021DF688
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF694
MOD85_021DF694: ; 0x021DF694
.word MOD85_021DC714, MOD85_021DC77C, MOD85_021DC5DC
.global MOD85_021DF6A0
MOD85_021DF6A0: ; 0x021DF6A0
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6AC
MOD85_021DF6AC: ; 0x021DF6AC
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6B8
MOD85_021DF6B8: ; 0x021DF6B8
.byte 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6C4
MOD85_021DF6C4: ; 0x021DF6C4
.byte 0x00, 0xC0, 0x0D, 0x00, 0x00, 0x80, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6D0
MOD85_021DF6D0: ; 0x021DF6D0
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6DC
MOD85_021DF6DC: ; 0x021DF6DC
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6E8
MOD85_021DF6E8: ; 0x021DF6E8
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF6F4
MOD85_021DF6F4: ; 0x021DF6F4
.byte 0x00, 0x40, 0x0B, 0x00, 0x00, 0x40, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF700
MOD85_021DF700: ; 0x021DF700
.word MOD85_021DC7E0, MOD85_021DC848, MOD85_021DC5DC
.global MOD85_021DF70C
MOD85_021DF70C: ; 0x021DF70C
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF718
MOD85_021DF718: ; 0x021DF718
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF724
MOD85_021DF724: ; 0x021DF724
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF730
MOD85_021DF730: ; 0x021DF730
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF73C
MOD85_021DF73C: ; 0x021DF73C
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF748
MOD85_021DF748: ; 0x021DF748
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF754
MOD85_021DF754: ; 0x021DF754
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF760
MOD85_021DF760: ; 0x021DF760
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF76C
MOD85_021DF76C: ; 0x021DF76C
.byte 0x00, 0x40, 0x03, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF778
MOD85_021DF778: ; 0x021DF778
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF784
MOD85_021DF784: ; 0x021DF784
.word MOD85_021DC6CC, MOD85_021DC6F8, MOD85_021DC5DC
.global MOD85_021DF790
MOD85_021DF790: ; 0x021DF790
.byte 0x00, 0x80, 0x0C, 0x00, 0x00, 0x80, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF79C
MOD85_021DF79C: ; 0x021DF79C
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7A8
MOD85_021DF7A8: ; 0x021DF7A8
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7B4
MOD85_021DF7B4: ; 0x021DF7B4
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7C0
MOD85_021DF7C0: ; 0x021DF7C0
.word MOD85_021DD0F0, MOD85_021DD158, MOD85_021DD004
.global MOD85_021DF7CC
MOD85_021DF7CC: ; 0x021DF7CC
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7D8
MOD85_021DF7D8: ; 0x021DF7D8
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7E4
MOD85_021DF7E4: ; 0x021DF7E4
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7F0
MOD85_021DF7F0: ; 0x021DF7F0
.byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF7FC
MOD85_021DF7FC: ; 0x021DF7FC
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF808
MOD85_021DF808: ; 0x021DF808
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF820
MOD85_021DF820: ; 0x021DF820
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF82C
MOD85_021DF82C: ; 0x021DF82C
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF838
MOD85_021DF838: ; 0x021DF838
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF844
MOD85_021DF844: ; 0x021DF844
.byte 0x00, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF850
MOD85_021DF850: ; 0x021DF850
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DF85C
MOD85_021DF85C: ; 0x021DF85C
.word 0x00001000, 0x00001000, 0x00000000
.global MOD85_021DF868
MOD85_021DF868: ; 0x021DF868
.word MOD85_021DD008
.word MOD85_021DD064, MOD85_021DD0C4, MOD85_021DD004
.global MOD85_021DF878
MOD85_021DF878: ; 0x021DF878
.word MOD85_021DC584
.word MOD85_021DC598, MOD85_021DC5A8, MOD85_021DC5DC
.global MOD85_021DF888
MOD85_021DF888: ; 0x021DF888
.word MOD85_021DC5E0
.word MOD85_021DC648, MOD85_021DC6B0, MOD85_021DC5DC
.global MOD85_021DF898
MOD85_021DF898: ; 0x021DF898
.word 0x00000018, MOD85_021DDCE4, MOD85_021DDD4C, MOD85_021DDD60
.word FUN_02064794
.global MOD85_021DF8AC
MOD85_021DF8AC: ; 0x021DF8AC
.word 0x00000020, MOD85_021DCC18, MOD85_021DCC2C, MOD85_021DCC58
.word MOD85_021DCCF8
.global MOD85_021DF8C0
MOD85_021DF8C0: ; 0x021DF8C0
.word 0x00000030, MOD85_021DCF18, MOD85_021DCF38, MOD85_021DCF64
.word MOD85_021DCF84
.global MOD85_021DF8D4
MOD85_021DF8D4: ; 0x021DF8D4
.word 0x00000048, MOD85_021DD584, MOD85_021DD598, MOD85_021DD624
.word MOD85_021DD980
.global MOD85_021DF8E8
MOD85_021DF8E8: ; 0x021DF8E8
.word 0x00000010, MOD85_021DD9BC, MOD85_021DDA08, MOD85_021DDA14
.word FUN_02064794
.global MOD85_021DF8FC
MOD85_021DF8FC: ; 0x021DF8FC
.word 0x00000040, MOD85_021DDE48, MOD85_021DDEB0, MOD85_021DDEC8
.word FUN_02064794
.global MOD85_021DF910
MOD85_021DF910: ; 0x021DF910
.word 0x00000048, MOD85_021DE290, MOD85_021DE2D0, MOD85_021DE310
.word FUN_02064794
.global MOD85_021DF924
MOD85_021DF924: ; 0x021DF924
.word 0x00000014, MOD85_021DDA60, MOD85_021DDAF0, MOD85_021DDAFC
.word FUN_02064794
.global MOD85_021DF938
MOD85_021DF938: ; 0x021DF938
.word 0x00000018, MOD85_021DC168, MOD85_021DC1C0, MOD85_021DC1CC
.word MOD85_021DC248
.global MOD85_021DF94C
MOD85_021DF94C: ; 0x021DF94C
.word 0x00000018, MOD85_021DC2A0, MOD85_021DC2F8, MOD85_021DC304
.word MOD85_021DC380
.global MOD85_021DF960
MOD85_021DF960: ; 0x021DF960
.word 0x00000018, MOD85_021DC3D8, MOD85_021DC430, MOD85_021DC43C
.word MOD85_021DC4B0
.global MOD85_021DF974
MOD85_021DF974: ; 0x021DF974
.word 0x00000048, MOD85_021DC52C, MOD85_021DC544, MOD85_021DC560
.word MOD85_021DC580
.global MOD85_021DF988
MOD85_021DF988: ; 0x021DF988
.word 0x00000010, MOD85_021DDB48, MOD85_021DDB94, MOD85_021DDBA0
.word FUN_02064794
.global MOD85_021DF99C
MOD85_021DF99C: ; 0x021DF99C
.word 0x00000054, MOD85_021DDF6C, MOD85_021DE0E0, MOD85_021DE104
.word FUN_02064794
.global MOD85_021DF9B0
MOD85_021DF9B0: ; 0x021DF9B0
.word 0x00000014, MOD85_021DDBFC, MOD85_021DDC8C, MOD85_021DDC98
.word FUN_02064794
.global MOD85_021DF9C4
MOD85_021DF9C4: ; 0x021DF9C4
.word 0x00000030, MOD85_021DE15C, MOD85_021DE22C, MOD85_021DE250
.word FUN_02064794
.global MOD85_021DF9D8
MOD85_021DF9D8: ; 0x021DF9D8
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.global MOD85_021DF9F0
MOD85_021DF9F0: ; 0x021DF9F0
.word MOD85_021DF878, MOD85_021DF888, MOD85_021DF784, MOD85_021DF694
.word MOD85_021DF700, MOD85_021DF5EC, MOD85_021DF5C4
.global MOD85_021DFA0C
MOD85_021DFA0C: ; 0x021DFA0C
.byte 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DFA2C
MOD85_021DFA2C: ; 0x021DFA2C
.byte 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DFA4C
MOD85_021DFA4C: ; 0x021DFA4C
.byte 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DFA6C
MOD85_021DFA6C: ; 0x021DFA6C
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
.global MOD85_021DFA8C
MOD85_021DFA8C: ; 0x021DFA8C
.word MOD85_021DF5DC, MOD85_021DF868, MOD85_021DF7C0, MOD85_021DF5B4
.word MOD85_021DF5E4, MOD85_021DF5D4, MOD85_021DF5CC, MOD85_021DF5BC
.word MOD85_021DF634
.global MOD85_021DFAB0
MOD85_021DFAB0: ; 0x021DFAB0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DFAD8
MOD85_021DFAD8: ; 0x021DFAD8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021DFB00
MOD85_021DFB00: ; 0x021DFB00
.byte 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x34, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
.byte 0x30, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.global MOD85_021DFB30
MOD85_021DFB30: ; 0x021DFB30
.byte 0x18, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
.byte 0x1C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
.byte 0x24, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
.byte 0x28, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.global MOD85_021DFB80
MOD85_021DFB80: ; 0x021DFB80
.byte 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
.byte 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x00, 0x05, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0B, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
.byte 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global MOD85_021DFC34
MOD85_021DFC34: ; 0x021DFC34
.byte 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x50, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
.global MOD85_021DFC4C
MOD85_021DFC4C: ; 0x021DFC4C
.byte 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.global MOD85_021DFC64
MOD85_021DFC64: ; 0x021DFC64
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
.global MOD85_021DFC7C
MOD85_021DFC7C: ; 0x021DFC7C
.byte 0x19, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
.global MOD85_021DFC94
MOD85_021DFC94: ; 0x021DFC94
.byte 0x19, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
.global MOD85_021DFCAC
MOD85_021DFCAC: ; 0x021DFCAC
.byte 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.global MOD85_021DFCC4
MOD85_021DFCC4: ; 0x021DFCC4
.byte 0x32, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x46, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
.global MOD85_021DFCDC
MOD85_021DFCDC: ; 0x021DFCDC
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.global MOD85_021DFCF4
MOD85_021DFCF4: ; 0x021DFCF4
.byte 0x19, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.global MOD85_021DFD24
MOD85_021DFD24: ; 0x021DFD24
.byte 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x27, 0x00, 0x01, 0x00, 0x27, 0x00
.byte 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x27, 0x00, 0x01, 0x00, 0x27, 0x00
.byte 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x02, 0x00, 0x26, 0x00, 0x02, 0x00, 0x26, 0x00
.byte 0x03, 0x00, 0x02, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x02, 0x00, 0x26, 0x00, 0x02, 0x00, 0x26, 0x00
.byte 0x04, 0x00, 0x01, 0x00, 0x06, 0x00, 0x09, 0x00, 0x03, 0x00, 0x25, 0x00, 0x03, 0x00, 0x25, 0x00
.byte 0x04, 0x00, 0x01, 0x00, 0x06, 0x00, 0x09, 0x00, 0x03, 0x00, 0x25, 0x00, 0x03, 0x00, 0x25, 0x00
.global MOD85_021DFD84
MOD85_021DFD84: ; 0x021DFD84
.byte 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.global MOD85_021DFDE4
MOD85_021DFDE4: ; 0x021DFDE4
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.global MOD85_021DFEE0
MOD85_021DFEE0: ; 0x021DFEE0
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.global MOD85_021E0090
MOD85_021E0090: ; 0x021E0090
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MOD85_021E0240
MOD85_021E0240: ; 0x021E0240
.byte 0x4B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.data
.global MOD85_021E05C0
MOD85_021E05C0: ; 0x021E05C0
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.bss